【问题标题】:running cron job every minute and 504 Gateway Time-out on nginx每分钟运行一次 cron 作业并在 nginx 上运行 504 网关超时
【发布时间】:2014-10-02 06:13:15
【问题描述】:

我不能每分钟运行一次 cron 作业,因为即使我将设置设置为每分钟运行一次 1/1,系统也会在一段时间后将其默认设置为 1/15。

我创建了一个 cron 目标脚本,它打算使用 sleep() 每分钟运行两次,超过 15 次,但在脚本执行不到 5 分钟后,我收到了 504 Gateway Time-out 错误。

还有另一种使用 php 让它工作(欺骗它)以防止超时的方法吗?

【问题讨论】:

  • 如果你用 fastcgi 运行 php 可能会改变 fastcgi 超时:stackoverflow.com/a/17511476/1721486
  • 不要使用1/1 * * * *,我什至不确定它是否符合您的想法。使用* * * * * 让它每分钟运行一次。
  • 是否可以在同一个 php 文件中将 lynx -dump http://mypage.com/cron 重定向到自身 14 次?

标签: php nginx cron sleep cpanel


【解决方案1】:

这是我正在使用的功能(希望每分钟运行 10 次)

我已经记录了它运行的频率,即使我仍然收到504 Gateway Time-out,日志证明 cron 函数运行了 150 次

function cron(){
    $cronFreq = 15;
    $perMinute = 10;
    for ( $repeat = 0; $repeat < $cronFreq*$perMinute; $repeat++) {
        $this->executeCronJob();
        sleep(60/$perMinute);
    }
}

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 2022-07-07
    • 2018-02-18
    • 2014-08-07
    • 2016-10-18
    • 2012-08-08
    • 2020-02-23
    • 2023-03-09
    • 2022-12-18
    相关资源
    最近更新 更多