# -*- coding: utf-8 -*- """配置默认值""" DEFAULTS = { "app": { "timezone": "Asia/Taipei", "store_id": "", "schema_oltp": "billiards", "schema_etl": "etl_admin", }, "db": { "dsn": "", "host": "", "port": "", "name": "", "user": "", "password": "", "connect_timeout_sec": 5, "batch_size": 1000, "session": { "timezone": "Asia/Taipei", "statement_timeout_ms": 30000, "lock_timeout_ms": 5000, "idle_in_tx_timeout_ms": 600000 }, }, "api": { "base_url": None, "token": None, "timeout_sec": 20, "page_size": 200, "retries": { "max_attempts": 3, "backoff_sec": [1, 2, 4], }, "headers_extra": {}, }, "run": { "tasks": [ "PRODUCTS", "TABLES", "MEMBERS", "ASSISTANTS", "PACKAGES_DEF", "ORDERS", "PAYMENTS", "REFUNDS", "COUPON_USAGE", "INVENTORY_CHANGE", "TOPUPS", "TABLE_DISCOUNT", "ASSISTANT_ABOLISH", "LEDGER", ], "window_minutes": { "default_busy": 30, "default_idle": 180, }, "overlap_seconds": 120, "idle_window": { "start": "04:00", "end": "16:00", }, "allow_empty_result_advance": True, }, "io": { "export_root": r"D:\LLZQ\DB\export", "log_root": r"D:\LLZQ\DB\logs", "manifest_name": "manifest.json", "ingest_report_name": "ingest_report.json", "write_pretty_json": False, "max_file_bytes": 50 * 1024 * 1024, }, "clean": { "log_unknown_fields": True, "unknown_fields_limit": 50, "hash_key": { "algo": "sha1", "salt": "", }, "strict_numeric": True, "round_money_scale": 2, }, "security": { "redact_in_logs": True, "redact_keys": ["token", "password", "Authorization"], "echo_token_in_logs": False, }, } # 任务代码常量 TASK_ORDERS = "ORDERS" TASK_PAYMENTS = "PAYMENTS" TASK_REFUNDS = "REFUNDS" TASK_INVENTORY_CHANGE = "INVENTORY_CHANGE" TASK_COUPON_USAGE = "COUPON_USAGE" TASK_MEMBERS = "MEMBERS" TASK_ASSISTANTS = "ASSISTANTS" TASK_PRODUCTS = "PRODUCTS" TASK_TABLES = "TABLES" TASK_PACKAGES_DEF = "PACKAGES_DEF" TASK_TOPUPS = "TOPUPS" TASK_TABLE_DISCOUNT = "TABLE_DISCOUNT" TASK_ASSISTANT_ABOLISH = "ASSISTANT_ABOLISH" TASK_LEDGER = "LEDGER"