Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created June 23, 2015 22:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiredman/a8fb63ec64704ecb967f to your computer and use it in GitHub Desktop.
Save hiredman/a8fb63ec64704ecb967f to your computer and use it in GitHub Desktop.
#!/Users/hiredman/src/jdk9.hg/build/macosx-x86_64-normal-server-release/images/jdk/bin/java -server -Xmx32m -Xms32m -XX:+UseTLAB -XX:+DoEscapeAnalysis -XX:+AdjustConcurrency -XX:+UseThreadPriorities -XX:+AggressiveOpts -XX:+UseG1GC -jar /Users/hiredman/src/clojure/target/clojure-1.7.0-master-SNAPSHOT.jar
(println (java.util.Date.))
(let [pom-uber-jar (str "http://thelibraryofcongress.s3.amazonaws.com/"
"pomegranate-0.3.1-SNAPSHOT-jar-with-dependencies.jar")]
(.addURL @clojure.lang.Compiler/LOADER (java.net.URL. pom-uber-jar))
(require '[cemerick.pomegranate :as pom])
((resolve 'pom/add-dependencies)
:coordinates '[[props3t "0.0.4-SNAPSHOT"]]
:repositories (merge @(resolve 'cemerick.pomegranate.aether/maven-central)
{"clojars" "http://clojars.org/repo"})))
(require '[propS3t.core :as s3])
(def aws-creds (read-string (slurp (first *command-line-args*))))
(def bucket (second *command-line-args*))
(def prefix (second (rest *command-line-args*)))
(->> (s3/list-bucket {:aws-key (:key aws-creds) :aws-secret-key (:secrect.key aws-creds)}
bucket
prefix
10000)
(sort-by :last-modified #(compare %2 %1))
(reduce
(fn [n obj]
(let [p (Math/ceil (* (Math/pow Math/E (* 1/2000 (- n))) 100))
x (double (rand-int 100))]
(when (> x p)
(println "deleting" (:key obj))
(s3/delete-object {:aws-key (:key aws-creds)
:aws-secret-key (:secrect.key aws-creds)}
bucket
(:key obj)))
(inc n)))
0))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment