Php 如何使用Symfony 4中的cronjob检查数据库,以便在必要时对其进行更改?

Php 如何使用Symfony 4中的cronjob检查数据库,以便在必要时对其进行更改?,php,symfony,cron,Php,Symfony,Cron,我目前正在开发一个在Symfony 4上运行的web应用程序。 然而,我在这样做时遇到了一个问题。 我有一个保存奖项的数据库。它们有一些属性,但最重要的是,它们会过期。一旦他们做了,我想做点什么。我想做这件事的时候带着一份工作。所以基本上,cronjob每隔10分钟左右检查一次奖励是否过期,如果过期,他应该用该奖励的主键进行API调用,处理我希望如何对待该奖励。我可以这样做吗?或者Symfony中是否有更容易做到这一点的功能,但没有cron?是的。你可以做到 Symfony中没有比cron更简单

我目前正在开发一个在Symfony 4上运行的web应用程序。 然而,我在这样做时遇到了一个问题。 我有一个保存奖项的数据库。它们有一些属性,但最重要的是,它们会过期。一旦他们做了,我想做点什么。我想做这件事的时候带着一份工作。所以基本上,cronjob每隔10分钟左右检查一次奖励是否过期,如果过期,他应该用该奖励的主键进行API调用,处理我希望如何对待该奖励。我可以这样做吗?或者Symfony中是否有更容易做到这一点的功能,但没有cron?

是的。你可以做到

Symfony中没有比cron更简单的功能。您应该使用cron

您应该声明一个公共操作来检查其中一个控制器中的奖励,并从cron调用该操作

如果需要,也可以使用此捆绑包:


当有API调用时,您可以请求未过期的奖励,并且每天都有一个cronjob来从DB中删除您过期的奖励?是的,我想做类似的事情,但我不知道如何将我的cronjob与所有symfony内容联系起来。我希望cronjob首先检查是否有过期的奖励,但我不知道如何从我的cronjob访问我的数据库,然后在必要时进行API调用。我相信您的方法有点缺陷。逻辑应该完全位于symfony应用程序的内部/部分。cronjob只是触发了这种行为。我看到两个子方法:1。通过服务或cron或cron-symfony bundle-Ali-Kazemi-linked为其创建一条路由并以某种方式触发它。2.制作一个symfony控制台命令,您可以从cron作业调用它(不过环境有点烦人)。