diff --git a/docker-compose.yml b/docker-compose.yml index 0d4bda9..0ebb412 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,6 +19,7 @@ services: CORS_ORIGIN: "${DOCKER_CORS_ORIGIN}" FRANKFURTER_URL: "${DOCKER_FRANKFURTER_URL}" STRIKE_API_KEY: "${STRIKE_API_KEY}" + KRAKEN_ENABLED: "true" extra_hosts: - "postgres:host-gateway" diff --git a/resources/system.edn b/resources/system.edn index 7539444..6f2070d 100644 --- a/resources/system.edn +++ b/resources/system.edn @@ -56,10 +56,12 @@ :enabled? #or [#env BINANCE_ENABLED "true"]} :kraken/ohlc - {:query-fn #ig/ref :db.sql/query-fn} + {:query-fn #ig/ref :db.sql/query-fn + :enabled? #or [#env KRAKEN_ENABLED "true"]} :kraken/ohlc-day - {:query-fn #ig/ref :db.sql/query-fn} + {:query-fn #ig/ref :db.sql/query-fn + :enabled? #or [#env KRAKEN_ENABLED "true"]} :frankfurter/rates {:url #or [#env FRANKFURTER_URL "http://localhost:8080"] diff --git a/src/clj/pmagnus/btcdata/kraken/ohlc.clj b/src/clj/pmagnus/btcdata/kraken/ohlc.clj index e9c1c9f..c698508 100644 --- a/src/clj/pmagnus/btcdata/kraken/ohlc.clj +++ b/src/clj/pmagnus/btcdata/kraken/ohlc.clj @@ -103,19 +103,22 @@ (log/error e "Kraken OHLC poll failed")))))))) (defmethod ig/init-key :kraken/ohlc - [_ {:keys [query-fn]}] - (let [client (HttpClient/newHttpClient) - db-since (seed-since-from-db query-fn) - since (atom db-since) - running? (atom true) - has-data? (some? db-since) - fut (start-poll-loop! client query-fn since running? has-data?)] - (if has-data? - (log/info "Starting Kraken OHLC poller, next fetch in" (quot (ms-until-next-poll) 60000) "minutes") - (log/info "Starting Kraken OHLC poller, fetching immediately (no data)")) - {:running? running? - :future fut - :since since})) + [_ {:keys [query-fn enabled?]}] + (if (= enabled? "false") + (do (log/info "Kraken OHLC poller disabled") + {:running? (atom false)}) + (let [client (HttpClient/newHttpClient) + db-since (seed-since-from-db query-fn) + since (atom db-since) + running? (atom true) + has-data? (some? db-since) + fut (start-poll-loop! client query-fn since running? has-data?)] + (if has-data? + (log/info "Starting Kraken OHLC poller, next fetch in" (quot (ms-until-next-poll) 60000) "minutes") + (log/info "Starting Kraken OHLC poller, fetching immediately (no data)")) + {:running? running? + :future fut + :since since}))) (defmethod ig/halt-key! :kraken/ohlc [_ {:keys [running? future]}] diff --git a/src/clj/pmagnus/btcdata/kraken/ohlc_daily.clj b/src/clj/pmagnus/btcdata/kraken/ohlc_daily.clj index 659dc19..2bd1b14 100644 --- a/src/clj/pmagnus/btcdata/kraken/ohlc_daily.clj +++ b/src/clj/pmagnus/btcdata/kraken/ohlc_daily.clj @@ -102,19 +102,22 @@ (log/error e "Kraken daily OHLC poll failed")))))))) (defmethod ig/init-key :kraken/ohlc-day - [_ {:keys [query-fn]}] - (let [client (HttpClient/newHttpClient) - db-since (seed-since-from-db query-fn) - since (atom db-since) - running? (atom true) - has-data? (some? db-since) - fut (start-poll-loop! client query-fn since running? has-data?)] - (if has-data? - (log/info "Starting Kraken daily OHLC poller, next fetch in" (quot (ms-until-next-daily-poll) 60000) "minutes") - (log/info "Starting Kraken daily OHLC poller, fetching immediately (no data)")) - {:running? running? - :future fut - :since since})) + [_ {:keys [query-fn enabled?]}] + (if (= enabled? "false") + (do (log/info "Kraken daily OHLC poller disabled") + {:running? (atom false)}) + (let [client (HttpClient/newHttpClient) + db-since (seed-since-from-db query-fn) + since (atom db-since) + running? (atom true) + has-data? (some? db-since) + fut (start-poll-loop! client query-fn since running? has-data?)] + (if has-data? + (log/info "Starting Kraken daily OHLC poller, next fetch in" (quot (ms-until-next-daily-poll) 60000) "minutes") + (log/info "Starting Kraken daily OHLC poller, fetching immediately (no data)")) + {:running? running? + :future fut + :since since}))) (defmethod ig/halt-key! :kraken/ohlc-day [_ {:keys [running? future]}]