【发布时间】:2021-11-22 14:27:32
【问题描述】:
我正在使用 Laravel 排队作业来简单地以 JSON 格式创建我的表的副本,然后删除创建的文件。这是我的处理方法:
public function handle()
{
unlink($this->file);
}
只要我在响应后立即发送文件,代码就可以正常工作:
DeleteCreatedFiles::dispatchAfterResponse(/* File path */);
但是我想在删除之前将文件保留一段时间,所以我使用了以下代码:
DeleteCreatedFiles::dispatch(/* file path */)
->delay(now()->addSeconds(30));
问题在于,无论我等待多久,该作业都不会执行。我尝试使用望远镜,它一直显示 pending 状态。请帮我弄清楚为什么会这样。 谢谢!
【问题讨论】:
-
如何执行队列?
-
通过 Job::dispatch() 方法。
-
我直接执行了作业
-
erm.. 你的环境中的队列驱动程序是什么?
-
@Faheem-maker 我的回答对你有帮助吗?
标签: php laravel laravel-8 laravel-queue