需求:

想实现 每周一到周五下班钉钉打卡提醒,每周四发周报提醒

使用了二种方法实现

一:apscheduler,代码如下

 import json,requests,datetime
from apscheduler.schedulers.blocking import BlockingScheduler
access_token = 'XXXXXXXX' #钉钉token
contentWee ='今天周四吆,记得发周报'
contentPun = '下班不打卡,辛苦也白搭' def notify(access_token,conId,content,tele):
'''
钉钉通知
:param access_token:
:param conId: 0:艾特所有人 1:艾特个人 2或其他:普通通知
:param content: 通知内容
:param tele: conId==1时使用,tele: [13800000000,13800000001]
:return:
'''
url = 'https://oapi.dingtalk.com/robot/send?access_token=' + access_token if conId == 0:
# 艾特所有人
con = {
"msgtype": "text",
"text": {
"content": content
},
"at": {
"isAtAll": 'true',
"atMobiles": [ ]
}
}
elif conId == 1:
# 艾特个人
con = {
"msgtype": "text",
"text": {
"content": content
},
"at": {
"isAtAll": 'false',
"atMobiles": tele
}
}
else:
# 普通通知
con = {
"msgtype": "markdown",
"markdown": {
"title": "hhh",
"text": content
},
} data = json.dumps(con)
headers = {'content-type': 'application/json'}
r2 = requests.post(url, data=data, headers=headers)
print(r2.text) if __name__ == '__main__':
tele = [13800000000,13800000001]
scheduler = BlockingScheduler()
# mon-fri: 周一到周五,也可以写成 1-5 ,时间 18:30 ,ars:方法 notify入参;每周-到周五下午六点半执行notify方法
scheduler.add_job(notify, 'cron', day_of_week='mon-fri', hour=18, minute=30, args=[access_token,1,contentPun,tele])
#同上,每周四下午4点执行notify方法
scheduler.add_job(notify, 'cron', day_of_week='thu', hour=16, minute=00, args=[access_token,4,contentWee,tele])
scheduler.start()

二、schedule 代码如下,阻塞流程
 import json,requests,time,schedule,datetime

 #notify方法同一
if __name__ == '__main__':
  schedule.every().thursday.at('16:00').do(notify,access_token,contentWee) # 每周四 16.00执行
  while True:
  schedule.run_pending()
部署:
直接执行 nohup python 文件名 & 建议使用第一种调度方法

最新文章

  1. Android Studio开发RecyclerView遇到的各种问题以及解决(二)
  2. expdp 报The value (30) of MAXTRANS parameter ignored错误的原因诊断
  3. Android应用开发项目结构分析
  4. marquee标签、插入百度地图
  5. android模拟器启动没有拨号功能
  6. JAVA WEB 作用域之间的区别
  7. python的深拷贝和浅拷贝
  8. 如何从uiview里面,获取其上层的uiviewcontroller
  9. 1.0.3-学习Opencv与MFC混合编程之---打开本地摄像头
  10. delphi倒计时按钮写法
  11. Fiddler证书安装(查看HTTPS)
  12. 格式化输出&初始编码&运算符
  13. Java 的 volatile 修饰符
  14. [转帖][分享] 关于系统DIY--by 原罪
  15. BigDecimal - Java精确运算
  16. golang 对struct进行Serialize的方法,即将存取二进制文件到struct的方法
  17. JavaWeb:动作标识
  18. CentOS右键菜单添加新增文件命令
  19. 「Vue」路由
  20. Scribes:小型文本编辑器,支持远程编辑

热门文章

  1. Spring Boot 初学避免犯不必要的错误
  2. html收尾
  3. scrapy工具创建爬虫工程
  4. java多线程中篇(二) —— 线程的创建和Synchronized锁关键字
  5. Centos下的 .so is not an ELF file
  6. WUSTOJ的“讨论”和“私聊”功能如何使用
  7. JPA逆向工程
  8. L2范数归一化概念和优势
  9. 优秀的java 社区
  10. 多线程使用libcurl