feat: add L/S ratio collector service for top_acct and global ratios

Collect top trader account L/S ratio and global L/S ratio every 15 minutes
for XRP, BTC, ETH (6 API calls/cycle) and persist to per-symbol parquet files.
Deployed as a separate Docker service reusing the bot image.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
21in7
2026-03-22 22:20:30 +09:00
parent aa5c0afce6
commit e2b0454825
5 changed files with 425 additions and 2 deletions

7
Jenkinsfile vendored
View File

@@ -50,7 +50,7 @@ pipeline {
env.DASH_API_CHANGED = 'true'
env.DASH_UI_CHANGED = 'true'
} else {
env.BOT_CHANGED = (changes =~ /(?m)^(src\/|main\.py|requirements\.txt|Dockerfile)/).find() ? 'true' : 'false'
env.BOT_CHANGED = (changes =~ /(?m)^(src\/|scripts\/|main\.py|requirements\.txt|Dockerfile)/).find() ? 'true' : 'false'
env.DASH_API_CHANGED = (changes =~ /(?m)^dashboard\/api\//).find() ? 'true' : 'false'
env.DASH_UI_CHANGED = (changes =~ /(?m)^dashboard\/ui\//).find() ? 'true' : 'false'
}
@@ -123,7 +123,10 @@ pipeline {
// 변경된 서비스만 pull & recreate (나머지는 중단 없음)
def services = []
if (env.BOT_CHANGED == 'true') services.add('cointrader')
if (env.BOT_CHANGED == 'true') {
services.add('cointrader')
services.add('ls-ratio-collector')
}
if (env.DASH_API_CHANGED == 'true') services.add('dashboard-api')
if (env.DASH_UI_CHANGED == 'true') services.add('dashboard-ui')