duanqiongdu9916 2017-05-25 13:23
浏览 41
已采纳

PHP(Laravel 5.4) - 一旦帖子达到某个年龄,就更新数据库中的条目

I just need a little advice on how I should approach this.

Basically, the application consists of a bidding platform, where users can bid on an item until the post is 12 hours old. Then the status of the "post" is set to closed and bidding is no longer allowed. So, my question is:

What is the best way to be constantly looking for posts that are 12 hours old (needs to close at the exact second) and update the database? Is it ideal to just update the post once a user attempts to load it and perform the check then?

  • 写回答

1条回答 默认 最新

  • donglei2288 2017-05-25 13:31
    关注

    That would not work.

    Consider the scenario where you have an item that needs to be expired at 23:30

    If you depend on a user to access the item, then there's also a possibility where nobody will access the item and it will stay that way.

    Laravel has a powerful Queue system where you can schedule jobs to be executed. So you can for e.g, schedule a job to run at exactly 12 hours after you create a new item.

    So this should work:

    $job = (new ExpireItem($item))
                    ->delay(Carbon::now()->addHours(12));
    

    More information in the documentation

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

报告相同问题?

悬赏问题

  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示