PHP中的重复事件

时间:2013-01-09 11:11:29

标签: php codeigniter calendar recurring-billing recurring

您好,我想根据日历制作定期活动。我想问的是:如何触发事件?如果客户端未登录或打开webapp以在构造函数中触发事件,那么如何使代码仍然运行。

我知道cron的工作可能是解决方案,但还有其他解决方案吗?(我想避免使用cron工作)。

2 个答案:

答案 0 :(得分:3)

你必须要运行一些东西才能使它工作; cron是理想的,因为它可以定期运行脚本来检查事件等事情。

如果没有这个,你就会被用户操作触发,但就像你说的那样,该用户可能并不总是登录来触发它。

您可以修改代码,以便为所有用户启用任何用户触发操作。它有点复杂,因为当您只想让其中一个用户触发内容时,您需要同时允许多个用户登录。我会在你的数据库中设置一个表来跟踪上次触发事件的时间,然后当用户登录时,从那时起现在的差距足够大,在表中添加一个新条目,现在是阻止其他用户触发此操作,并触发您需要运行的位。

就像我说的那样,这不是一个完美的解决方案,我真的建议使用cron。你有什么理由想避免使用cron吗?

答案 1 :(得分:0)

如果应该触发该作业以使服务器处于良好状态,则应该使用cron作业运行,如果是数据库管理,则数据库管理器具有事件表以生成cron作业,如果仅需要cron作业对于用户来说,如果您在用户登录之前不这样做,那么它可以是安全的工作负载。您也可以手动登录以触发事件,也可以是管理页面。