hi all:
i use APScheduler-3.0.1 as following, the function is the same. the are many job missed.
if __name__ == '__main__':
job_defaults = {
'coalesce': False,
'max_instances': 60
}
executors = {
'default': ThreadPoolExecutor(48),
'processpool': ProcessPoolExecutor(12)
}
pushScherJob = BlockingScheduler(executors=executors, job_defaults=job_defaults, timezone=utc)
pushScherJob.add_job(get_data_from_redis,"interval",minutes=int(inter_minute),args=[0], misfire_grace_time=int(misfire_grace_time),executor='processpool')
pushScherJob.add_job(get_data_from_redis,"interval",minutes=int(inter_minute),args=[1], misfire_grace_time=int(misfire_grace_time),executor='processpool')
pushScherJob.add_job(get_data_from_db,"interval",hours=inter_hour,minutes=int(inter_hour_minute),args=[2], misfire_grace_time=int(misfire_grace_time), executor='processpool')
.......
try:
pushScherJob.start()
except (KeyboardInterrupt, SystemExit):
pushScherJob.shutdown()
in fact, there are some job missed.
There wrong log is :
[WARNING][2015-01-15 18:52:25,607][Process-9:19935][MainThread:140312580867808][base.py:103][run_job][Run time of job "get_data_from_redis(trigger: interval[0:08:00], next run at: 2015-01-15 10:59:24 UTC)" was missed by 0:01:00.839076]
[WARNING][2015-01-15 18:52:25,607][Process-9:19935][MainThread:140312580867808][base.py:103][run_job][Run time of job "get_data_from_redis(trigger: interval[0:20:00], next run at: 2015-01-15 11:11:24 UTC)" was missed by 0:01:00.839134]
[WARNING][2015-01-15 19:00:54,352][Process-5:19931][MainThread:140312580867808][base.py:103][run_job][Run time of job "get_data_from_db(trigger: interval[0:08:00], next run at: 2015-01-15 11:07:24 UTC)" was missed by 0:01:29.583880]
Is it the misfire_grace_time too small? or the function name must be different? Thanks very much!