【发布时间】:2016-09-04 17:02:54
【问题描述】:
我想每隔几分钟就解雇一次我的工作。它正在我的本地机器上运行。但是,在 AWS Elastic Beanstalk 上,该作业永远不会触发。我使用 python 3.4、apscheduler 3.1.0 和 Flask 0.10.1。
例如:
from apscheduler.schedulers.background import BackgroundScheduler
def my_job()
print('Hello')
scheduler = BackgroundScheduler()
scheduler.add_job(my_job, 'interval', seconds=120, id='my_job')
scheduler.start()
任何想法为什么它不能在 AWS 上运行?
【问题讨论】:
-
你怎么知道它不起作用?
print输出到 Beanstalk 的日志之一还是logging会更好? -
日志中没有任何内容,也只是一个例子。我的任务很少,所有任务都应该将状态插入数据库。问题在于默认情况下不支持线程的 uWSGI(我仍然很惊讶为什么它没有在 apscheduler 网页上提及)。可以找到一种方法在 AWS 上打开它们,所以我只是使用 cron 来完成。
标签: python python-3.x amazon-web-services amazon-elastic-beanstalk apscheduler