python 实现定时任务
需求:
想实现 每周一到周五下班钉钉打卡提醒,每周四发周报提醒
使用了二种方法实现
一: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 文件名 & 建议使用第一种调度方法
python 实现定时任务的更多相关文章
- python Aspscheduler 定时任务框架使用
前几日,爬虫基本能爬点东西出来了,现在需要实现定时把数据爬到DB里去,可以使用windows定时任务执行py脚本,但好像不彻底,要做一个纯(jiao)粹(qing)的程序员,定时任务的重任落到了Asp ...
- 用python设置定时任务
python中的轻量级定时任务调度库:schedule 提到定时任务调度的时候,相信很多人会想到芹菜celery,要么就写个脚本塞到crontab中.不过,一个小的定时脚本,要用celery的话太 ...
- python中定时任务
今天看网络框架时,突然想看一下定时器,于是往上搜索了一下python中timer task的实现,但是由于python本身对线程的支持不是太好,因为全局排它锁的存在,使得多线程在访问资源时效率比较低. ...
- python实现定时任务
定时任务的实现方式有很多种,如windows服务,借助其他定时器jenkins运行脚本等方式.本文介绍的是python中的一个轻量级模块schedule. 安装 pip命令:pip install s ...
- Python中定时任务框架APScheduler
前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法. 一.APScheduler介绍 APSc ...
- Python中定时任务框架APScheduler的快速入门指南
前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法. 一.APScheduler介绍 APSc ...
- python版 定时任务机制
定时任务的原理 服务器执行一个python脚本 这个脚本,循环执行配置的定时任务地址 Python请求地址, 该地址应该返回, 下次再来执行的秒数. 也就是任务的频率 比如任务希望每3秒执行一次, 那 ...
- python实现定时任务那些你不知道的模块
一.使用time中的sleep 这种方式最简单,在循环里放入要执行的任务,然后sleep一段时间在执行 from datetime import datetime import time # 每n秒执 ...
- python的定时任务模块--schedule
首先先安装一下模块 下面我们简单的学习一下schedule模块 先简单的看个示例 import schedule def test(*args,**kwargs): print("hello ...
- python 学习定时任务apscheduler模块
最近在解决定时任务问题找到了apscheduler模块,贴一段代码 from apscheduler.schedulers.blocking import BlockingSchedulerimpor ...
随机推荐
- 2019暑期北航培训—预培训作业-IDE的安装与初步使用(Visual Studio版)
这个作业属于那个课程 2019北航软件工程暑期师资培训 这个作业要求在哪里 预培训-IDE的安装与初步使用(Visual Studio版) 我在这个课程的目标是 提高自身实际项目实践能力,掌握帮助学生 ...
- Python3实现自动查询成绩(主要使用的包有Tesseract-OCR、PIL、execjs、pytesseract、BeautifulSoup)
前提:本文仅作为技术训练,不可利用技术做非法的事. 某考试的成绩查询页面如下:查询成绩需要的数据有准考证号或者身份证.考生姓名.验证码.现在使用python来实现自动查询指定人员的考试成绩(不知道准考 ...
- 谈谈redis的热key问题如何解决
引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完...(以下省略一万字).今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决.其实热key问题说来也很简单,就是瞬间有几 ...
- Node.js安装windows环境
一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1.下载对应你系统的Node.js版本:https:// ...
- 使用Lombok总结
Lombok学习总结 Project Lombok is a java library that automatically plugs into your editor and build tool ...
- 《The Google File System》 笔记
<The Google File System> 笔记 一.Introduction 错误是不可避免的,应当看做正常的部分而不是异常.因此需要设计持续监控,错误检查,容错,自动恢复的系统. ...
- 『Python基础』第39节 函数的返回值
1. 函数的返回值 一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的. 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧? 还有咱们之前也用过 len() 这个函数, ...
- ALV报表——选择屏幕选项卡
ALV选择屏幕选项卡 运行效果: 代码: *&--------------------------------------------------------------------* *&a ...
- PHP Math常量
常量名 常量名 常量值 PHP M_E e 2.7182818284590452354 4 M_EULER Euler 常量 0.57721566490153286061 5.2.0 M_LNPI l ...
- Asp.Net Core 使用 MediatR
Asp.Net Core 使用 MediatR 项目中使用了CQRS读写分离,增删改 的地方使用了 MediatR ,将进程内消息的发送和处理进行解耦.于是便有了这篇文章,整理并记录一下自己的学习.遇 ...