【发布时间】:2014-02-03 13:01:17
【问题描述】:
当用户在我的网站上提交表单时,我必须根据表单完成一项工作,这基本上是:
- 检查用户锁(在redis中,防止用户做坏事),如果没有锁继续并放置作业队列锁,否则退出作业并给用户错误
- 更新 mysql 表中的行,可能会删除同一个表中的一些行并至少执行 1 次插入(可能跨不同表)
- 移除作业队列锁
我想在这些作业进入时将它们排队,队列总是处理放入其中的新作业。
我正在使用 php 和 mysql。我看过 gearman 和 resque for php。 Gearman 似乎有点矫枉过正。而且我还希望每秒能够处理数千个这样的工作。所以速度很重要。
队列中的这些作业按顺序和它们进入的顺序发生是至关重要的。如果我可以每半秒插入一个作业到队列的前面(这是一个不同的作业,但善良),这也是一个奖励相关的)。
我以前从未做过这样的事情。
【问题讨论】:
标签: php mysql redis message-queue gearman