1. 程式人生 > 實用技巧 >python定時任務APScheduler

python定時任務APScheduler

老大想在企業微信中新增一個機器人提醒大家下班寫日報

1、首先是你要新增一個機器人
獲取到webhook這個有什麼用,看官方文件https://work.weixin.qq.com/help?doc_id=13376
2、目前來看機器人只能推送訊息(比如推送天氣、提醒)
3、我想定時推送訊息,查到了APScheduler這個框架
import requests

import os
import datetime, time
from apscheduler.triggers.combining import AndTrigger, OrTrigger
from apscheduler.triggers.interval import
IntervalTrigger from apscheduler.triggers.cron import CronTrigger from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.schedulers.background import BackgroundScheduler scheduler = BlockingScheduler() headers = {'Content-Type': 'application/json'} data = { "msgtype": "
text", "text": { "content": "" } } def send_weixin_shouquan3(data): webhook_url = "OOOOOO" res = requests.post(webhook_url, json=data, headers=headers) print(res.text) def get_tianqi(): wheather_url = 'https://tianqiapi.com/api?XXXX' res1 = requests.get(wheather_url)
print(res1.json()) data1 = res1.json() datetime1 = '大家好,今天是%s %s' % (data1.get('date'), data1.get('week')) wheath = '西安今日天氣: %s 天...不管什麼天氣都要記得多喝熱水喔0.0' % (data1.get('wea')) data = { "msgtype": "text", "text": { "content": datetime1 + '\n' + wheath } } send_weixin_shouquan3(data) def send_ribao(): print('日報') data = { "msgtype": "text", "text": { "content": '下班前記得填寫日報@所有人' } } send_weixin_shouquan3(data) def scheduled_job(): print('This job is run every weekday at 5pm.') if __name__ == '__main__': sched = BlockingScheduler() sched.add_job(send_ribao, 'cron', day_of_week='mon-fri', hour='18', minute='00', second='00') #週一到週五下午6點發送訊息 sched.add_job(get_tianqi, 'cron', day_of_week='mon-fri', hour='7') # 早上七點 print('before the start funciton') print('開始執行') sched.start()


4、官方文件https://apscheduler.readthedocs.io/en/latest/modules/triggers/combining.html#module-apscheduler.triggers.combining
組合使用有bug,記得看github上的issue