戏剧提示:有没有一种方法可以让演员使用多条信息?

2024-09-25 02:31:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想成为一个戏剧演员,可以消费任意数量的消息在同一时间。大致如下:

@dramatiq.actor
def some_actor(*messages):
   print(f"GOT {len(messages)} messages")
   print(messages) 


# publisher A runs
some_actor.send("message1")
# publisher B runs
some_actor.send("message2")

# finally the worker would print this if the timing is correct
GOT 2 MESSAGES
["message1", "message2"]

我正在试验覆盖Worker类的想法,使用定制的_ConsumerThreadrunhandle_messages方法来使用定制的_ConsumerThread,将它们更改为处理同一参与者的多达N条预取消息。相关变化将在these linesthese上进行

虽然这种方法有望奏效,但它非常粗糙,还需要在cli上进行更改,可能还需要在actor decorator上进行更改

有没有更优雅的方法通过中间件或其他方法来实现这一点


Tags: the方法send消息runssomepublisheractor