定时任务
常见用于定时任务的:
- crontab
- django的定时任务
- APScheduler
- celery:http://docs.jinkan.org/docs/celery/getting-started/introduction.html
APScheduler
pip install -i https://pypi.doubanio.com/simple/ apscheduler
使用
指定时间执行一次
import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
def job2(text):
print('job2', datetime.datetime.now(), text)
scheduler = BlockingScheduler()
scheduler.add_job(job2, 'date', run_date=datetime.datetime(2019, 2, 25, 19, 5, 6), args=['text'], id='job2')
scheduler.start()
每天指定时间执行一次
# ----------------- 每天指定时间 执行一次 -----------------
from apscheduler.schedulers.blocking import BlockingScheduler # 后台运行
sc = BlockingScheduler()
f = open('t1.txt', 'a', encoding='utf8')
@sc.scheduled_job('cron', day_of_week='*', hour=11, minute='56', second='2') # 每天11点56分02秒执行一次
def check_db():
print(111111111111)
if __name__ == '__main__':
try:
sc.start()
f.write('定时任务成功执行')
except Exception as e:
sc.shutdown()
f.write('定时任务执行失败')
finally:
f.close()