server: port: 8080 admin_key: "admin-sk-change-me" database: host: "mysql" port: 3306 user: "root" password: "${DB_PASSWORD:-notify}" database: "notification" redis: host: "redis" port: 6379 password: "XBAG3pjZbYxZpTWA" db: 0 smtp: host: "smtp.mailersend.net" port: 587 user: "MS_hqXDZ6@516886.xyz" password: "${SMTP_PASSWORD:-}" # MailerSend 要求 from 域名已验证;未验证 516886.xyz 前先用试用域名 from: "Notification Service " rate_limit: default: 100 # 钉钉自定义机器人官方上限 20/分钟,超限封 10 分钟;本地默认 18 留余量 dingtalk_per_min: 18 logbull: host: "https://log.516886.xyz" project_id: "42a3fef0-2fd6-4ce4-80c5-f6bb6ecc2013" api_key: "lb_60701971723797ed0374aa3896078fe5" log_level: "INFO" # 多队列重复消息按 body SHA-256 去重;有 Redis 时跨进程共享 subscription_dedup_ttl: 1h subscriptions: - name: trade-signal url: "${RABBITMQ_URL}" queue: trade.signal.notify.queue dead_letter_queue: trade.signal.notify.dlq exchange: trade.signal.executor.queue exchange_type: fanout routing_key: "" max_retry: 3 source: trade-signal formatter: trade_signal strategy_overrides: BLONG: quantity_multipliers: open: 100 add: 100 reduce: 100 close: 100 leverage: 100 - name: crypto-strategy url: "${RABBITMQ_URL}" # 独立队列,不订 executor 队列,避免和 consumer.strategy 抢消息 queue: crypto.strategy.signal.notify.queue dead_letter_queue: crypto.strategy.signal.notify.dlq exchange: crypto.strategy.topic exchange_type: topic routing_key: strategy.signal max_retry: 3 source: crypto-strategy formatter: trade_signal