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

PHP(Laravel5.4)-一旦帖子达到某个年龄,更新数据库中的条目,php,laravel,updating,Php,Laravel,Updating,我只是需要一点建议,我应该如何处理这个问题 基本上,该应用程序由一个竞价平台组成,用户可以对一个项目进行竞价,直到帖子发布12小时。然后“post”的状态设置为关闭,不再允许投标。所以,我的问题是: 不断寻找12小时前的帖子(需要在精确的第二秒关闭)并更新数据库的最佳方式是什么?一旦用户尝试加载帖子并执行检查,就更新帖子是否理想?这将不起作用 考虑这样一种情况,即您的物品需要在23:30过期 如果您依赖用户访问该项目,那么也有可能没有人访问该项目,并且它将保持这种状态 Laravel有一个强大的

我只是需要一点建议,我应该如何处理这个问题

基本上,该应用程序由一个竞价平台组成,用户可以对一个项目进行竞价,直到帖子发布12小时。然后“post”的状态设置为关闭,不再允许投标。所以,我的问题是:

不断寻找12小时前的帖子(需要在精确的第二秒关闭)并更新数据库的最佳方式是什么?一旦用户尝试加载帖子并执行检查,就更新帖子是否理想?

这将不起作用

考虑这样一种情况,即您的物品需要在
23:30过期

如果您依赖用户访问该项目,那么也有可能没有人访问该项目,并且它将保持这种状态

Laravel有一个强大的
队列
系统,您可以在其中安排要执行的作业。例如,您可以将作业安排在创建新项目后的12小时内运行

因此,这应该是可行的:

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

中有更多不起作用的信息

考虑这样一种情况,即您的物品需要在
23:30过期

如果您依赖用户访问该项目,那么也有可能没有人访问该项目,并且它将保持这种状态

Laravel有一个强大的
队列
系统,您可以在其中安排要执行的作业。例如,您可以将作业安排在创建新项目后的12小时内运行

因此,这应该是可行的:

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

有关详细信息,请参见+12小时时创建的closed=created_,以便:获取实时帖子=帖子。在哪里(在+12小时时创建