Python Cron Job过早死亡

时间:2018-06-03 00:20:19

标签: python bash cron

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

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

我的cron工作:

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

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

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

LANG=en_US.UTF-8

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

1 个答案:

答案 0 :(得分:1)

Cron显然改变了编码,所以为了与我的python脚本中使用的编码保持一致,我将以下内容添加到我的crontab中:

LANG=en_US.UTF-8