代码之家  ›  专栏  ›  技术社区  ›  Rob

后台php脚本被heroku终止

  •  1
  • Rob  · 技术社区  · 6 年前

    我有一个后台PHP脚本在Heroku上运行(使用WorkerDyno)。我已经覆盖了PHP时间限制,因为脚本需要足够的时间来运行(它系统地调用API并将结果存储在MySQL中)。

    在本地主机上运行,脚本完成时不会出现问题。然而,在Heroku上,大约15分钟后结束。我的日志显示以下内容:

    Jul 19 17:05:20 heroku heroku/run.4487: Client connection closed. Sending SIGHUP to all processes 
    Jul 19 17:05:21 heroku heroku/run.4487: State changed from up to complete 
    Jul 19 17:05:21 heroku heroku/run.4487: Process exited with status 129 
    

    这是什么意思?我该怎么解决呢?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Rob    6 年前

    我向Heroku支持人员问了同样的问题,他们告诉我是因为我从命令行运行作业,但是与客户机的连接丢失了。

    为了任何可能偶然发现这一点的人的利益,解决办法是替换 run 具有 run:detached 在命令行中。这使我完全脱离了这份工作,让它自由地独自奔向日落。