删除 laravel 中排队的作业

2022-08-30 19:32:52

我已经在Laravel的队列中添加了一些作业。但是,我忘记输入函数,并且我的函数中存在错误。这意味着这项工作永无止境。它不断被替换到队列中,并不断在我的日志文件中出错。如何从命令行删除它?$job->delete()

我正在用于排队。beanstalkd


答案 1

我使用的是Redis而不是Beanstalkd,但这两者应该是相同的。重新启动 Redis 并不能解决问题。我在Laravel 4.2 API文档中查看并发现:RedisQueues

public Job|null pop(string $queue = null)
  //Pop the next job off of the queue.

如果您查看,则情况相同。BeanstalkedQueue

我把它扔进了dd*里面,加载了那个页面,瞧。app/routes.php

Route::get('/', function() {
  dd(Queue::pop());
  #return View::make('hello');
});

注意:每个队列重新加载页面一次。

队列已从堆栈中拉出。我希望看到一个更干净的解决方案,但这对我不止一次有效。

*dd($var) = Laravel 的 die 和 dump 函数 = die(var_dump($var))

编辑1:对于Redis

以上显然不是最好的解决方案,所以这是一个更好的方法。小心!

FLUSHDB - 删除当前所选数据库的所有键。此命令永远不会失败。

对于 Redis,请使用 FLUSHDB。这将刷新 Redis 数据库,而不是 Laravel 的数据库。在终端中:

$ redis-cli
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379> exit

答案 2

重新启动豆茎。在 Ubuntu 上:

sudo service beanstalkd restart

推荐