【问题标题】:Cron job for Laravel json api [closed]Laravel json api 的 Cron 作业 [关闭]
【发布时间】:2019-08-13 14:54:05
【问题描述】:

我将尝试解释我想要实现的目标。我正在用 MySQL 编写 laravel json api。想象一下用户在我的数据库中创建记录。我想做的是在创建此记录后 24 小时执行某种操作。这有点像 cron 工作,但最好的解决方案是什么?例如,我是否应该每 5 分钟运行一次 cron 并检查任何记录是否已过期 24 小时?或者也许有更好的解决方案?

【问题讨论】:

    标签: php mysql laravel cron


    【解决方案1】:

    cron 很好,但是(mysql)数据库有events,可以调度。在我看来,这真的取决于你的个人品味,因此在这里或多或少是题外话。我的意思是条目 24 小时后的更新是一条 SQL 语句,它应该相当快,除非你有数百万个条目;)

    【讨论】:

      【解决方案2】:

      您应该为此使用Laravel queue system。当您在数据库中插入一条记录时,您应该创建一个新的delayed job。将延迟设置为 24 小时,Laravel 将在那一刻执行作业。

      AfterInsertJob::dispatch()->delay(now()->addHours(24));
      

      【讨论】:

      • 第二个问题是我想一次又一次地应用这个操作直到记录存在。我怎样才能做到这一点?我应该在工作中派遣工作吗?我的意思是我应该在 AfterInsertJob 中调度 AfterInsertJob 吗?
      • 如果您最初的问题中没有其他问题,请创建一个新问题。否则这会很快变得混乱。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 2017-05-24
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2011-06-26
      • 2012-07-03
      相关资源
      最近更新 更多