在LAMP堆栈中运行后台进程


Running background process in LAMP stack

我有一个应用程序运行在LAMP堆栈上。在USER模型中订阅截止日期到期后,我需要设置用户的当前

默认订阅或免费订阅。

所以我需要一个后台进程,它总是检查用户的订阅截止日期到期,并设置为默认订阅。

是否有其他有效和可管理的解决方案来运行后台进程来更新用户数据?

应用环境:

CakePHP,复述,MariaDB

如果这个问题不足以描述我的问题,请编辑:(

总的来说你关于重复事件的问题,如果此事件在数据库中发生了变化,并且还发生了其他操作,如发送电子邮件或停止某些服务或连接远程资源,则必须使用cron job

,但如果此事件仅与DB相关,则可以创建循环事件,如以下链接

对于PHP,没有那么多开箱即用的解决方案。其中一个可用的是rabbitmq-delayed-sample。它建立在rabbitmq消息传递系统之上。

使用例子:

$container->get('delayed_producer')->delayedPublish(5000, $messageBody, '');

,其中5000是该作业执行后的过期时间。您可以将这些代码放在新用户创建位置。