我正在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);
}

10-04 21:35