【问题标题】:Is it possible to have an "internal" cron in mysql5?mysql5中是否有可能有一个“内部”cron?
【发布时间】:2011-06-12 12:49:53
【问题描述】:

前几天,一位朋友建议玩一款名为 OGame 的网络浏览器游戏。如果你不知道,我会告诉你它是什么:一个 rts 游戏,你必须在其中建造诸如采矿工厂、兵营之类的东西。有趣的是,每个建筑物都有构建时间,您可以在构建时注销,因为它会继续运行。

我相信这样的事情是通过 dbms 管理的。我有我的记录,我有一个建筑的结束时间。如何检查何时更新建筑物?我是否需要一个外部应用程序每秒检查需要更新的记录? mysql5 是否有可能有一个内部调度程序在这个表上启动一个过程?如果是这样,这是最佳做法吗?

【问题讨论】:

    标签: scheduler mysql5


    【解决方案1】:

    我已经构建了一个类似的游戏,并将构建结束时间(以及要触发的其他事件)存储在事件表中。我编写了一个 PHP 守护程序,它会定期检查事件表中的过期记录并相应地对其进行操作。

    我找不到在数据库本身中执行此操作的方法(如果我以后想迁移到另一个数据库,则需要重写)。 cron 脚本可能会重叠。守护进程可以一直跟踪所有内容,并在事件排队的速度快于处理的速度时输出调试信息。我还添加了一个 cron 来定期检查我的守护进程是否仍在运行,否则启动它。

    Creating a daemon in PHP(如果您使用的是 PHP)

    希望对您有所帮助。

    【讨论】:

    • 好吧,如果您使用特定 dbms 的某些特定功能,我认为重写问题是一个真正的问题。我将研究在 php 中创建一个守护进程,tnx。
    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2014-11-09
    相关资源
    最近更新 更多