【问题标题】:Python Cron Job Dies PrematurelyPython Cron 作业过早死亡
【发布时间】:2018-06-03 08:51:51
【问题描述】:

我正在尝试通过 cron 作业定期运行 python 脚本。 python 脚本是 Twitch 的聊天机器人,它每分钟检查一次以查看流媒体是否上线或关闭其流,并根据需要启动机器人或断开连接。

该脚本在 bash 中运行,当我使用 sh 运行它时。它每分钟都正确启动,但每个机器人在 2 到 30 秒之间死亡(比预期的时间短得多)。机器人在不同的时间死亡,所以起初我认为它们可能遇到错误,所以我将输出重定向到一个文本文件,但没有出现任何意外。

我的 cron 工作:

* * * * * cd [path to script] && python3 Chatbot.py &

如果需要,我可以发布有关脚本的更多信息,但由于它在 shell 和 bash 中按预期工作,我认为错误不存在。我的 crontab 文件末尾有一个空行,并且 cron 服务正在运行。

编辑:解决了!我走到了日志的末尾,在 Twitch 视频中搜索了最后一条成功登录之后的消息,结果发现它是一个表情符号。我的 python 脚本处理了这个,但我猜 cron 改变了编码?我将以下内容添加到我的 crontab 文件中:

LANG=en_US.UTF-8

这似乎解决了我的问题——它已经运行了几分钟,没有任何问题。

【问题讨论】:

  • 它可能会被提前杀死,也许是因为下一个 cron 间隔运行,也许尝试将间隔调整更长。

标签: python bash cron


【解决方案1】:

Cron 显然更改了编码,因此为了与我的 python 脚本中使用的编码保持一致,我在我的 crontab 中添加了以下内容:

LANG=en_US.UTF-8

【讨论】:

    猜你喜欢
    • 2012-11-29
    • 2012-06-08
    • 2010-10-25
    • 1970-01-01
    • 2010-11-17
    • 2019-11-10
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多