Add BINANCE_ENABLED and STRIKE_ENABLED env flags
Skip live WebSocket/API connections when set to false. Defaults to true so Docker keeps fetching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,8 @@
|
||||
|
||||
:ws/binance
|
||||
{:query-fn #ig/ref :db.sql/query-fn
|
||||
:uri "wss://stream.binance.com:9443/ws/btcusdt@trade"}
|
||||
:uri "wss://stream.binance.com:9443/ws/btcusdt@trade"
|
||||
:enabled? #or [#env BINANCE_ENABLED "true"]}
|
||||
|
||||
:kraken/ohlc
|
||||
{:query-fn #ig/ref :db.sql/query-fn}
|
||||
@@ -67,4 +68,5 @@
|
||||
:strike/ticker
|
||||
{:query-fn #ig/ref :db.sql/query-fn
|
||||
:api-key #env STRIKE_API_KEY
|
||||
:sats-eur-amount #or [#env SATS_EUR_AMOUNT "55"]}}
|
||||
:sats-eur-amount #or [#env SATS_EUR_AMOUNT "55"]
|
||||
:enabled? #or [#env STRIKE_ENABLED "true"]}}
|
||||
|
||||
@@ -136,8 +136,13 @@
|
||||
(log/error e "Strike poll failed")))))))
|
||||
|
||||
(defmethod ig/init-key :strike/ticker
|
||||
[_ {:keys [query-fn api-key sats-eur-amount]}]
|
||||
(log/info "Starting Strike ticker poller")
|
||||
[_ {:keys [query-fn api-key sats-eur-amount enabled?] :or {enabled? "true"}}]
|
||||
(if-not (= enabled? "true")
|
||||
(do (log/info "Strike ticker disabled")
|
||||
{:running? (atom false)
|
||||
:future nil
|
||||
:latest-rates (atom nil)})
|
||||
(do (log/info "Starting Strike ticker poller")
|
||||
(let [client (HttpClient/newHttpClient)
|
||||
running? (atom true)
|
||||
latest-rates (atom nil)
|
||||
@@ -145,10 +150,10 @@
|
||||
fut (start-poll-loop! client api-key query-fn running? latest-rates sats-eur-amount fee-cache)]
|
||||
{:running? running?
|
||||
:future fut
|
||||
:latest-rates latest-rates}))
|
||||
:latest-rates latest-rates}))))
|
||||
|
||||
(defmethod ig/halt-key! :strike/ticker
|
||||
[_ {:keys [running? future]}]
|
||||
(log/info "Stopping Strike ticker poller")
|
||||
(reset! running? false)
|
||||
(future-cancel future))
|
||||
(when future (future-cancel future)))
|
||||
|
||||
@@ -71,8 +71,12 @@
|
||||
(.join))))
|
||||
|
||||
(defmethod ig/init-key :ws/binance
|
||||
[_ {:keys [query-fn uri]}]
|
||||
(log/info "Starting Binance WebSocket listener:" uri)
|
||||
[_ {:keys [query-fn uri enabled?] :or {enabled? "true"}}]
|
||||
(if-not (= enabled? "true")
|
||||
(do (log/info "Binance WebSocket disabled")
|
||||
{:state (atom {:running? false})
|
||||
:latest-price (atom nil)})
|
||||
(do (log/info "Starting Binance WebSocket listener:" uri)
|
||||
(let [latest-price (atom nil)
|
||||
state (atom {:running? true
|
||||
:last-write 0
|
||||
@@ -81,7 +85,7 @@
|
||||
ws (connect! uri query-fn state latest-price)]
|
||||
(swap! state assoc :ws ws)
|
||||
{:state state
|
||||
:latest-price latest-price}))
|
||||
:latest-price latest-price}))))
|
||||
|
||||
(defmethod ig/halt-key! :ws/binance
|
||||
[_ {:keys [state]}]
|
||||
|
||||
Reference in New Issue
Block a user