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 ...
随机推荐
- Beta冲刺(1/4)
队名:秃头小队 组长博客 作业博客 组长徐俊杰 过去两天完成的任务:学习了很多东西 Github签入记录 接下来的计划:继续学习 还剩下哪些任务:后端部分 燃尽图 遇到的困难:自己太菜了 收获和疑问: ...
- go方法
go中的方法(method),跟函数(function)不是一个概念,一定要区分,它的概念与python中的类方法类似. go中是没有类的概念的,所以,go要想实现类 多种属性集合的功能的话,必须要使 ...
- numpy 数组集合运算及下标操作
1. 数组的集合运算 1.1. 并集 np.union1d(a,b)计算数组的并集: In [1]: import numpy as np In [2]: a = np.array([1,2,3]) ...
- [Visual Studio] - 使用 Fiddler 时,禁止监控 VSHub 请求的方法
背景 VS + Fiddler 调试 WebAPI,监控请求包含大量 VSHub Request.http://localhost:49161/vshub/bb195f2e0d5c4765b9411f ...
- 使用scrapy框架做赶集网爬虫
使用scrapy框架做赶集网爬虫 一.安装 首先scrapy的安装之前需要安装这个模块:wheel.lxml.Twisted.pywin32,最后在安装scrapy pip install wheel ...
- 《Java Web开发实战》——Java工程师必备干货教材
一年一度毕业季,又到了简历.offer漫天飞,失望与希望并存的时节.在IT行业,高校毕业生求职时,面临的第一道门槛就是技能与经验的考验,但学校往往更注重学生的理论知识,忽略了对学生实践能力的培养,因而 ...
- 针对Web的攻击技术
主动攻击 SQL注入攻击 OS命令注入攻击 会话劫持 被动攻击 XSS攻击 CSRF攻击 HTTP首部注入攻击 会话固定攻击 一.主动攻击 1.SQL注入攻击(案例) 什么是SQL? SQL是用来操作 ...
- VBA分别使用MSXML的DOM属性和XPATH进行网页爬虫
本文要重点介绍的是VBA中的XmlHttp对象(MSXML2.XMLHTTP或MSXML.XMLHTTP),它可以向http服务器发送请求并使用微软XML文档对象模型Microsoft XML Doc ...
- python之简单爬取一个网站信息
requests库是一个简介且简单的处理HTTP请求的第三方库 get()是获取网页最常用的方式,其基本使用方式如下 使用requests库获取HTML页面并将其转换成字符串后,需要进一步解析HTML ...
- 如何通过wlst部署应用程序到weblogic12c上
适用版本 Oracle WebLogic Server - Version 10.3 and laterInformation in this document applies to any plat ...