doubiao1734 2019-05-04 08:45
浏览 42
已采纳

如何从给定时间开始laravel的调度程序?

I need to run certain commands after 2 days of another time that I read from database in laravel. I checked out the laravel's scheduler documentation but could not find anything related my problem.

How can I set up a scheduler relative to another time? I want to read a time/date from database and schedule a command based on this time. Also, It is not repetitive. It will only run once.

  • 写回答

1条回答 默认 最新

  • dongtuo5262 2019-05-04 09:05
    关注

    I think the best you can do is to setup a queued job. When you need to dispatch it (whenever it is in a scheduled task or not, it doesn't matter), you just dispatch it with a delay. It is well explained in the queue section of the documentation, right here: https://laravel.com/docs/5.7/queues#delayed-dispatching

    In your case, you can dispatch the job using this Carbon instance as a delay: now()->addDays(2). Two days later, the job will be executed :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?