【问题标题】:How to stop Magento cron如何停止 Magento cron
【发布时间】:2014-08-06 14:42:41
【问题描述】:

有一些 crons 作业有繁重的 sql 查询。但有时由于同时从 Magento 的某个地方运行另一个繁重的 sql,我的 cron 作业需要太多时间来执行并减慢服务器的速度。

如果我的 cron 作业花费的时间超过阈值时间,我想以编程方式停止它,所以我决定从 cron_schedule 表中删除 cron 作业条目,如果它在超过阈值时间后处于运行状态。但我认为它不会杀死进程。

有没有办法从服务器杀死 cron 作业?如果我有进程 ID,那么我可以触发 unix 命令来终止进程,但是由于这些 cron 作业是由 cron.php 处理的,所以我不能采用这种方法。

【问题讨论】:

    标签: php magento cron


    【解决方案1】:

    如果你的脚本很重,那么你必须先修复脚本,想办法解决它总是不好的。强烈建议修复脚本

    如果您想以编程方式停止 cron 作业,那么您可以通过 getmypid 在脚本的最开始执行时获取 CRON 作业的进程 ID,然后将其与日期和时间一起保存在数据库中。然后你必须做一个在你的阈值时间之后运行的 cron 作业,这将检查你的脚本是否仍在运行,然后你通过 posix_kill 杀死进程

    【讨论】:

    • 这是一个很好的建议。我正在检查是否可以获取 Magento cron 作业的进程 ID
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2015-07-30
    • 2022-12-05
    • 2013-10-22
    • 2014-06-03
    • 2014-01-14
    • 2011-07-02
    相关资源
    最近更新 更多