【发布时间】:2016-04-27 03:45:16
【问题描述】:
我有一个用 Python 编写的机器人,在 Amazon EC2 上运行,并以 Django 作为框架。该机器人的最终目标是同时维持与同一个 Slack 团队中的多个用户的对话。据我了解,亚马逊将处理 Slack 团队之间的负载,但我试图弄清楚如何在单个 Slack 中管理负载。
现在,我的机器人正忙于等待单个用户响应。我一直在对此进行一些研究——Celery 是适合这项工作的工具吗?我应该将每个对话分成一个单独的线程/任务,还是让调度员处理新消息? Slack 有没有办法发送中断,还是我被 while 循环卡住了?
感谢您的帮助/指导!我对此很陌生。
编辑:我设法通过实现与每个用户相关的“对话”对象列表来解决这个问题。这些对象保存每个对话的状态,以便机器人可以在用户再次发消息时从中断的地方继续。
【问题讨论】:
-
看起来你需要使用异步框架来完成这个任务。查看Tornado。
标签: python django amazon-ec2 celery slack-api