laravel - $job->release() 没有放回队列

标签 laravel laravel-4 queue synchronization push-queue

对队列非常陌生,所以要温柔。据我了解, $job->release() 应该将作业放回到队列中。我目前有下面的代码,但它只通过队列运行作业一次。我需要能够运行它最多 5 次,如果它再次失败,请将其删除或执行其他操作。

worker :

public function fire($job, $data)
{
    if ($job->attempts() < 5) {
        \Log::error($job->attempts());
        $job->release();
    }

}

按下!:

 Queue::push(
     'ClassName',
      [
         'path' => $path;
      ]

尝试通过同步在本地执行此操作。尝试运行队列:监听和队列:工作,然后运行推送代码。仅记录 1 条记录。如果您需要更多信息,请告诉我。

最佳答案

事实证明,在使用 sync 驱动程序时,$job->release() 不起作用。

关于laravel - $job->release() 没有放回队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28051485/

相关文章:

php - 从 Laravel Pivot 返回计算的自定义属性

c# - 如何使用 ConcurrentQueue<T> 进行线程处理

php - 如何在 Laravel 中捕获 PostTooLargeException?

mysql - 为什么我不能运行这个查询?

php - 将 Javascript 日期字符串转换为 PHP 日期

python - 由于阻塞 Queue.get() 方法导致的死锁

php - 如何用mysql在php中创建一个队列

php - 用户在 Laravel 上注册后无法登录

mysql - Laravel & PHPUnit : allow process isolation to prevent Mysql Too many connections error

php - Laravel 4 中未加载环境目录中的database.php 文件