手头任务:
有一个MySQL表,其中用户活动被作为一行推送。该活动需要稍后处理。
id | activity_type | activity_data | creation_time | status
23 EMAIL {....... } 2013-02-01 UNPROCESSED
不含芹菜的加工:
- 使用脚本挑选N条记录进行处理,然后对已处理的记录更新状态为PROCESSED。
如何使用芹菜实现相同的功能,我想使用相同的功能来标记任务,而不是使用代理?例如,任务添加->取10个最老的行添加到状态为UNPROCESSED的mysql表中,该表也有任务相关的数据。
在任务完成时->将行标记为已处理。
如何告诉芹菜,而不是将任务推到代理,它必须从MySQL表检索任务?
我是芹菜的初学者,因此不知道它的所有功能。使用MySQL作为代理是不推荐的,但我想知道可行性。
我想你误解了芹菜的工作原理。你不能仅仅用你自己设计的MySQL表替换它的代理——好吧,除非对它的源代码做实质性的修改。
代理是芹菜的内部部分,它使用自己的内部格式来跟踪它的任务,所以单独使用MySQL代理没有固有的优势,因为这是你当前存储执行任务所需信息的方式。
如果你喜欢的话,你仍然可以使用芹菜,但是你必须编写必要的代码来将你的用户活动表转换为芹菜任务。
然而,我建议先用芹菜来试验……
- 基本了解如何使用
- 确定它是否是你想要达到的目标的一个好的解决方案
从芹菜教程开始,看看它是如何发展的。