Python 脚本和 Tweepy 的 Cron 作业

Cron Job for Python Script and Tweepy

所以我在 python 中有一个脚本可以将推文发布到我的 Twitter 帐户。我正在使用 tweepy。

当我 运行 使用 ./run_my_script.pypython run_my_script.py 手动脚本时,它工作得很好。

我正在尝试通过 cronjob 运行 它,无论我使用什么间隔(每分钟、每 30 分钟、每 4 小时等),我都会收到同样的错误:

Error Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/update_with_media.json?status=information_related_to_my_tweet(Caused by ConnectTimeoutError(, 'Connection to api.twitter.com timed out. (connect timeout=60)'))

有谁知道我为什么会收到此错误消息?我只是打电话

api.update_with_media(media, tweet)

一次在代码中。

我的 crontab 看起来像这样

PATH = "my_path_on_my_local_machine"

SHELL = "/bin/bash"

HOME = '/my/home/directory/goes/here"

*/30 * * * * cd the_directory_my_script_is_in && ./run_my_script.py

我是公司代理人。当我自己 运行 脚本时它起作用的原因以及它不能通过 cron 作业起作用的原因是因为我没有获取我的 bash_profile 并且连接不会通过代理。

我的 crontab 现在看起来像

*/30 * * * * cd the_directory_my_script_is_in && source ~/.bash_profile && ./run_my_script.py