码迷,mamicode.com
首页 > 其他好文 > 详细

后台定时任务

时间:2018-11-15 13:50:02      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:失效   list   setting   for   scheduled   not   lte   ini   重启   

from apscheduler.schedulers.background import BackgroundScheduler
sched = BackgroundScheduler()
def get_net_price_by_name():
  pass
添加任务
sched.add_job(get_net_price_by_name, ‘cron‘, minute=setting_minute, hour=setting_hour, args=[pk],
              id=setting_id)
添加任务之后服务器重启会定时任务会失效,所以需要通过id查询定时任务,如果没有则添加
def inital_update_price_setting():
pus_list = Price.objects.filter(status=‘正常‘, net_price__status=‘正常‘)
jobs = [x.id for x in sched.get_jobs()]
for pus in pus_list:
if not str(pus.id) in jobs:
sched.add_job(get_net_price_by_name, ‘cron‘, minute=pus.minute_time, hour=pus.hour_time,
args=[pus.net_price.id], id=str(pus.id))
print([x.id for x in sched.get_jobs()])
然后定时运行这个任务
@sched.scheduled_job(‘interval‘, minutes=30)
def update_price_setting():
from backend.pro_name_standard.standard_init import inital_update_price_setting
inital_update_price_setting()





后台定时任务

标签:失效   list   setting   for   scheduled   not   lte   ini   重启   

原文地址:https://www.cnblogs.com/yuruhao/p/9962631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!