0

我想每隔幾分鐘解僱我的工作。它正在我的本地機器上工作。但是,在AWS Elastic Beanstalk上,作業永遠不會觸發。我使用python 3.4,apscheduler 3.1.0和Flask 0.10.1。awscheduler間隔任務未在aws上運行

例如:

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工作?

+0

你怎麼知道它不工作?將'print'輸出到Beanstalk的日誌之一還是'logging'會更好? – n4cer500

+0

日誌中沒有任何東西,它也只是一個例子。我有幾個任務,他們都應該將狀態插入數據庫。問題出在uWSGI(我仍然驚訝爲什麼它沒有在apscheduler網頁上提到),默認情況下它不支持線程。可以找到一種方法在AWS上打開它們,所以我只是使用cron來完成它。 –

回答

0

你可以這樣使用。

@application.before_first_request 
def initialize(): 
    scheduler = BackgroundScheduler() 
    scheduler.add_job(my_job, 'interval', seconds=120, id='my_job') 
    scheduler.start()