我打算使用 Celery 来处理由我的主服务器的事件触发的发送推送通知和电子邮件。
这些任务需要打开与外部服务器(GCM、APS、电子邮件服务器等)的连接。它们可以一次处理一个,也可以通过单个连接批量处理以获得更好的性能。
通常会在短时间内分别触发多个这些任务的实例。例如,在一分钟内,可能有几十个推送通知需要向不同的用户发送不同的消息。
在 Celery 中处理这个问题的最佳方法是什么?似乎天真的方法是对每条消息简单地执行不同的任务,但这需要为每个实例打开一个连接。
我希望会有某种任务聚合器允许我处理例如“所有未完成的推送通知任务”。
这样的事情存在吗?有没有更好的方法来解决它,例如附加到活动任务组?
我错过了什么吗?
罗伯特