much more background process tracking
This commit is contained in:
@@ -1,62 +1,44 @@
|
||||
(ns auto-ap.background.requests
|
||||
(:require
|
||||
[amazonica.aws.sqs :as sqs]
|
||||
[config.core :refer [env]]
|
||||
[mount.core :as mount]
|
||||
[yang.scheduler :as scheduler]
|
||||
[auto-ap.yodlee.core2 :as client2]
|
||||
[clojure.tools.logging :as log]
|
||||
[auto-ap.import.intuit :as i]
|
||||
[auto-ap.import.plaid :as p]
|
||||
[unilog.context :as lc]
|
||||
[auto-ap.import.yodlee :as y]
|
||||
[auto-ap.import.yodlee2 :as y2]
|
||||
))
|
||||
[auto-ap.utils :refer [heartbeat]]
|
||||
[clojure.tools.logging :as log]
|
||||
[config.core :refer [env]]
|
||||
[mount.core :as mount]
|
||||
[yang.scheduler :as scheduler]))
|
||||
|
||||
(def queue-url (:requests-queue-url env))
|
||||
|
||||
(defn process-1 []
|
||||
(lc/with-context {:source "Request poller"}
|
||||
(log/info "Checking SQS...")
|
||||
(let [[{:keys [message-id receipt-handle body]}] (:messages (sqs/receive-message {:queue-url queue-url
|
||||
:wait-time-seconds 1
|
||||
:count 1}))]
|
||||
|
||||
(when message-id
|
||||
(sqs/delete-message {:queue-url queue-url
|
||||
:receipt-handle receipt-handle} )
|
||||
(log/infof "processing message %s with body %s" message-id body )
|
||||
(cond
|
||||
(= ":intuit" body)
|
||||
(try
|
||||
(i/import-intuit)
|
||||
(catch Exception e
|
||||
(log/error e)))
|
||||
(let [[{:keys [message-id receipt-handle body]}] (:messages (sqs/receive-message {:queue-url queue-url
|
||||
:wait-time-seconds 1
|
||||
:count 1}))]
|
||||
|
||||
(when message-id
|
||||
(sqs/delete-message {:queue-url queue-url
|
||||
:receipt-handle receipt-handle} )
|
||||
(log/infof "processing message %s with body %s" message-id body )
|
||||
(cond
|
||||
(= ":intuit" body)
|
||||
(i/import-intuit)
|
||||
|
||||
(= ":yodlee" body)
|
||||
(try
|
||||
(y/import-yodlee)
|
||||
(catch Exception e
|
||||
(log/error e)))
|
||||
(= ":yodlee" body)
|
||||
(y/import-yodlee)
|
||||
|
||||
(= ":yodlee2" body)
|
||||
(try
|
||||
(client2/upsert-accounts)
|
||||
(y2/import-yodlee2)
|
||||
(catch Exception e
|
||||
(log/error e)))
|
||||
(= ":yodlee2" body)
|
||||
(y2/import-yodlee2)
|
||||
|
||||
(= ":plaid" body)
|
||||
(try
|
||||
(p/import-plaid)
|
||||
(catch Exception e
|
||||
(log/error e))))
|
||||
))))
|
||||
(= ":plaid" body)
|
||||
(p/import-plaid)))))
|
||||
|
||||
(defn fake-message []
|
||||
(sqs/send-message {:queue-url (:requests-queue-url env)
|
||||
(sqs/send-message {:queue-url (:requests-queue-url env)
|
||||
:message-body ":intuit"} ))
|
||||
|
||||
(mount/defstate request-listener
|
||||
:start (scheduler/every (* 1000 30) process-1)
|
||||
:start (scheduler/every (* 1000 30) (heartbeat process-1 "request-poller"))
|
||||
:stop (scheduler/stop request-listener))
|
||||
|
||||
Reference in New Issue
Block a user