ジョブがトリガーされないのはなぜですか?
毎日01:00:00にジョブをトリガーしたいと思います。
トリガー時間を午前 10 時に設定して py スクリプトを実行するとします。それが動作します。ただし、午前 1 時ではトリガーしません。
print_jobs() を呼び出します。
Jobstore default:
grab_star_baidu_news (trigger: cron[hour='1', minute='0', second='0'], next run at: 2014-02-26 01:00:00)
grab_star_baidu_news_title (trigger: cron[hour='1', minute='30', second='0'], next run at: 2014-02-26 01:30:00)
film_info_2_db (trigger: cron[hour='3', minute='0', second='0'], next run at: 2014-02-26 03:00:00)
このような私のスクリプト(Windowsサーバー2012で実行):
from apscheduler.scheduler import Scheduler
import apscheduler
import sys
sys.path.append("E:\data")
sch = Scheduler(daemonic=False)
@sch.cron_schedule(hour="1", minute="0", second="0")
def grab_star_baidu_news():
import BaiduNewsMx
BaiduNewsMx.GrabMxBaiduNews()
@sch.cron_schedule(hour="1", minute="30", second="0")
def grab_star_baidu_news_title():
import BaiduNewsTitleMx
BaiduNewsTitleMx.GrabBaiduMxNewsTitle()
@sch.cron_schedule(hour="3", minute="0", second="0")
def film_info_2_db():
import InfoToDb
InfoToDb.InsertFilmInfo2Db()
#Job listener for completed and miss.
def job_listener(ev):
if ev.exception:
print(str(ev.exception))
else:
print(str(ev.job))
def job_complete(ev):
#print('%s completed!', str(ev.job))
sch.print_jobs()
sch.add_listener(job_complete, apscheduler.events.EVENT_JOB_EXECUTED)
sch.start()
print("Schedule started.")
sch.print_jobs()