46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# 定义事件处理函数
|
|
ActionEventEnableTrade = "enable_trade"
|
|
ResultEventTradeEnabled = "trade_enabled"
|
|
ActionEventDisableTrade = "disable_trade"
|
|
ResultEventTradeDisabled = "trade_disabled"
|
|
# 市场数据监听控制事件
|
|
MarketDataUpdate = "market_data_update"
|
|
ActionEnableMarketData = "enable_market_data"
|
|
ActionDisableMarketData = "disable_market_data"
|
|
MarketDataEnabled = "market_data_enabled"
|
|
MarketDataDisabled = "market_data_disabled"
|
|
# 删除交易标的事件
|
|
EventTradeTargetUpdate = "trade_target_update"
|
|
ActionEventAddTradeTarget = "add_trade_target"
|
|
ResultEventTradeTargetAdded = "trade_target_added"
|
|
ActionEventDeleteTradeTarget = "delete_trade_target"
|
|
ResultEventTradeTargetDeleted = "trade_target_deleted"
|
|
# 网格修正事件
|
|
ActionEventGridFix = "grid_fix"
|
|
# Pring Log
|
|
EventPrintLog = "print_log"
|
|
|
|
|
|
class EventBus:
|
|
def __init__(self):
|
|
self.listeners = {} # 管理各种event的订阅情况
|
|
|
|
def subscribe(self, event_type, listener):
|
|
if event_type not in self.listeners:
|
|
self.listeners[event_type] = []
|
|
self.listeners[event_type].append(listener)
|
|
|
|
def publish(self, event_type, data):
|
|
if event_type in self.listeners:
|
|
for listener in self.listeners[event_type]:
|
|
listener(data)
|
|
|
|
|
|
# # 订阅事件
|
|
# event_bus.subscribe('my_event', handle_event)
|
|
|
|
# # 发布事件
|
|
# event_bus.publish('my_event', {'key': 'value'})
|
|
|
|
# 创建事件总线实例
|
|
event_bus = EventBus() |