able to read emails from sqs.
This commit is contained in:
18
src/clj/auto_ap/background/mail.clj
Normal file
18
src/clj/auto_ap/background/mail.clj
Normal 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))))))
|
||||
@@ -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})))
|
||||
|
||||
Reference in New Issue
Block a user