able to read emails from sqs.

This commit is contained in:
Bryce Covert
2018-04-05 21:42:23 -07:00
parent 0b3cef3f33
commit 4eace8144e
6 changed files with 66 additions and 9 deletions

View File

@@ -0,0 +1,18 @@
(ns auto-ap.background.mail
(:require [amazonica.aws.sqs :as sqs]
[amazonica.aws.s3 :as s3]
[clojure.data.json :as json])
)
(defn process-sqs []
(doseq [message (:messages (sqs/receive-message {:queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod"
:wait-time-seconds 5
:max-number-of-messages 10
#_#_:attribute-names ["All"]}))]
(let [message-body (json/read-str (:body message)
:key-fn keyword)]
(doseq [r (:Records message-body)]
(println (-> (s3/get-object {:key (-> r :s3 :object :key)
:bucket-name (-> r :s3 :bucket :name)})
:input-stream
slurp))))))

View File

@@ -1,9 +1,11 @@
(ns auto-ap.server
(:require [auto-ap.handler :refer [app]]
[auto-ap.background.mail :refer [process-sqs]]
[config.core :refer [env]]
[ring.adapter.jetty :refer [run-jetty]])
(:gen-class))
(defn -main [& args]
(let [port (Integer/parseInt (or (env :port) "3000"))]
(future (process-sqs))
(run-jetty app {:port port :join? false})))