我设置了一个推送队列来拨打相当多的电话号码并播放录音——一个由 Twilio 提供支持的爆炸公告系统。遍历每个号码并拨打电话需要时间,所以我希望使用推送队列来加快应用程序的导航。
我过去曾尝试在 Laravel 4 中使用 Iron.io 推送队列,似乎任何需要一段时间才能运行的任务,或者如果 HTTP 请求一开始很慢,则该fire()
方法中的代码会运行多次,即使使用$job->delete()
这是我的队列处理程序的示例-
class callLotsOfPeople {
public function fire($job, $data) {
// Do stuff with data, like calling lots of people.. takes time
$job->delete();
// For some reason this method can be called multiple times after a single queue push,
// resulting in multiple phone calls and angry clients
}
}