我正在MySQL上编写Laravel json API。想象用户在我的数据库中创建记录。我要做的是在创建此记录后24小时执行某种操作。我可以使用AfterInsertJob::dispatch()->delay(now()->addHours(24));
来实现。但是我需要一次又一次地执行此操作,直到记录存在。那我该怎么办呢?我应该在工作内部派遣工作吗?我的意思是我应该在AfterInsertJob
内调度AfterInsertJob
吗?我可以使用Schedule
,但是如何从AfterInsertJob
停止该计划?
最佳答案
您可以在AfterInsertJob-> handle中,在执行时创建新队列:
$need_to_work = true;
.....
if( $need_to_work ){
AfterInsertJob::dispatch()->delay(3);
}