Advertisement
Guest User

Untitled

a guest
Mar 9th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. (defn batch-insert-links [lls]
  2. (let [all (filter identity (map get-link-map lls))
  3. batch-size 50]
  4. (loop [c all]
  5. (let [chnk (take batch-size c)]
  6. (when (seq chnk)
  7. (try
  8. (j/with-db-connection [conn (mysql/get-conn)]
  9. (apply j/insert! conn :Links chnk))
  10. (catch Exception e
  11. (if (re-find (re-pattern "[a-zA-Z0-9]{40}") (.getMessage e))
  12. (future (let [clean-stuff
  13. (remove #(= (re-find (re-pattern "[a-zA-Z0-9]{40}")
  14. (.getMessage e)) (:urlhash %)) chnk)]
  15. (swap! dups-vec #(cons clean-stuff %))))
  16. (track-error :ghost/batch-insert-links e chnk))))
  17. (recur (drop batch-size c))))))
  18. (println "batch done"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement