refresh_main_fan_mines.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python3
  2. """执行主通风机批次固定首步:刷新并保存正常生产煤矿清单,不调用模型。"""
  3. import asyncio
  4. import json
  5. from pathlib import Path
  6. import sys
  7. sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
  8. async def refresh():
  9. import config
  10. from extensions.main_fan import mine_catalog
  11. from extensions.shaanxi.client import GatewayClient
  12. from extensions.shaanxi.settings import GatewaySettings
  13. gateway = GatewayClient(GatewaySettings.from_config())
  14. try:
  15. snapshot = await mine_catalog.refresh(gateway=gateway)
  16. finally:
  17. await gateway.close()
  18. print(json.dumps({
  19. 'snapshot_id': snapshot['snapshot_id'], 'stage': snapshot['stage'],
  20. 'counts': snapshot['counts'], 'status_counts': snapshot['status_counts'],
  21. 'selected_mines_file': str(config.ROOT / 'data/main_fan/mine_catalog'
  22. / snapshot['snapshot_id'] / 'selected-mines.json'),
  23. }, ensure_ascii=False, indent=2))
  24. if __name__ == '__main__':
  25. asyncio.run(refresh())