v2_program_stream_single.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import json
  2. import sys
  3. from pathlib import Path
  4. PROJECT_ROOT = Path(__file__).resolve().parents[2]
  5. sys.path.insert(0, str(PROJECT_ROOT))
  6. from pre_data.common.client_tools import redis_client, write_hset
  7. INDEX_KEY = "program-names:index"
  8. STREAM_KEY = "program-names:stream"
  9. KEY_PREFIX = "program-names"
  10. def make_redis_key(type_id: str, zone_id: str) -> str:
  11. return f"{KEY_PREFIX}:{type_id}:{zone_id}"
  12. def write_program_names(type_id: str, zone_id: str, program_map: dict[str, str], clear_before_write: bool = True):
  13. redis_key = make_redis_key(type_id, zone_id)
  14. index_value = f"{type_id}:{zone_id}"
  15. normalized = {str(k): str(v) for k, v in program_map.items()}
  16. if clear_before_write:
  17. redis_client.delete(redis_key)
  18. write_hset(redis_key, normalized)
  19. redis_client.sadd(INDEX_KEY, index_value)
  20. redis_client.xadd(
  21. STREAM_KEY,
  22. {
  23. "action": "upsert",
  24. "type_id": type_id,
  25. "zone_id": zone_id,
  26. },
  27. )
  28. print(f"[OK] key={redis_key}, fields={len(normalized)}")
  29. print(f"[OK] index={INDEX_KEY} add {index_value}")
  30. print(f"[OK] stream={STREAM_KEY} xadd upsert")
  31. if __name__ == "__main__":
  32. #ultra_下筒1
  33. ultra_type_id_1 = "201c51890c31c308050100218008054150000000000000000000000000000040"
  34. ultra_zone_id_1 = "1"
  35. ultra_program_names_1 = { 56 : "智慧", 15 : "POP速洗", 19 : "摇篮柔洗", 17 : "大件", 31 : "四件套", 1 : "棉麻", 20 : "婴童服", 58 : "浴巾", 6 : "衬衣", 3 : "羽绒", 10 : "羊毛", 18 : "校服", 52 : "户外服", 40: "超净洗", 60 : "蒸汽除菌", 27 : "漂+脱", 28 : "单脱水", 13 : "筒自洁" }
  36. write_program_names(ultra_type_id_1, ultra_zone_id_1, ultra_program_names_1, clear_before_write=True)
  37. # #ultra_下筒3
  38. # ultra_type_id_3 = "201c51890c31c308050100218008054150000000000000000000000000000040"
  39. # ultra_zone_id_3 = "3"
  40. # ultra_program_names_3 = { 56 : "智慧", 15 : "59分钟速洗烘", 17 : "大件", 31 : "四件套", 1 : "棉麻", 20 : "婴童服", 58 : "浴巾", 6 : "衬衣", 3 : "羽绒", 10 : "羊毛", 40 : "超净洗烘", 27 : "漂净烘", 29 : "单烘干", 91 : "筒净烘" }
  41. # write_program_names(ultra_type_id_3, ultra_zone_id_3, ultra_program_names_3, clear_before_write=True)
  42. # #ultra_左筒43
  43. # ultra_type_id_41 = "201c51890c31c308050100218008054150000001000000000000000000010040"
  44. # ultra_zone_id_41 = "41"
  45. # ultra_program_names_41 = { 56 : "智慧", 15 : "POP速洗", 102 : "无痕Bra", 104 : "蕾丝Bra", 101 : "运动Bra", 105 : "内裤", 26 : "毛巾", 20 : "婴童服", 8 : "轻柔", 40 : "超净洗", 60 : "蒸汽除菌", 27 : "漂+脱", 28 : "单脱水", 13 : "筒自洁" }
  46. # write_program_names(ultra_type_id_41, ultra_zone_id_41, ultra_program_names_41, clear_before_write=True)