asp python 定时任务_Python定时任务轻量解决方案——Schedule

写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务。Linux环境下,可以借助于系统自带的crontab完成定时任务。但是很多时候,开发的同学们可能并没有权限去操作crontab,所以就催生了一些不太好的解决方案,比如基于Python/Java里面的Timer去弄一个周期性执行的工具。

大佬们,醒醒,主角出场了。今天给大家分享一个Python轻量级定时任务解决方案,schedule,可以满足常用的周期性任务需求。

安装

pip install schedule

使用

schedule提供了多种方法去描述执行周期,比如:

#1,按照某个时间间隔

every(10).seconds.do(task),表示每隔10秒执行task任务。当然可以把间隔换成其他单位,比如minutes,hours,days

#2,按照一个固定的时间点

every().day.at('9:30').do(task),表示每天9:30执行任务

#encoding=utf-8from datetime import datetimeimport timeimport scheduledef job1(*args):    with open('tasks', 'a') as f:        f.write('[{}]{}'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'), 'msg'))# 每隔5秒执行一次job1schedule.every(5).seconds.do(job1)# 每天9:30执行任务schedule.every().day.at('09:30').do(job1)if __name__ == '__main__':    while True:        schedule.run_pending()        time.sleep(1)

效果

3b35684388ffda5efb44f269ecfef535.png

如何让任务只执行一次?

只需要在任务最后加上这句话就行,return schedule.CancelJob

#encoding=utf-8from datetime import datetimeimport timeimport scheduledef job_run_once(*args):    print('Job run only once')    #    return schedule.CancelJob# 只执行一次任务schedule.every(3).seconds.do(job_run_once)if __name__ == '__main__':    while True:        schedule.run_pending()        time.sleep(1)

就是这么简单,你学会了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pygame简单深度优先算法生成迷宫

学习路径计算之前需要一个场景,网上查了下迷宫生成方法花了点时间写了个简单的迷宫生成器 基本原理十分简单: 使用2维矩阵表示迷宫,每一个节点有四面墙,使用深度搜索,随机顺序向四个方向移动,,如果遇到已到…

wait放弃对象锁_终于搞懂了sleep/wait/notify/notifyAll,真的是不容易

sleep/wait/notify/notifyAll分别有什么作用?它们的区别是什么?wait时为什么要放在循环里而不能直接用if?简介首先对几个相关的方法做个简单解释,Object中有几个用于线程同步的方法:wait、notify、notifyAll。public c…

Pygame 使用Djkstra广度搜索寻找迷宫(相对)最短路径

基于之前写的迷宫生成器实现了Djkstra算法搜索路径。 https://blog.csdn.net/ChillingKangaroo/article/details/122800431 Djkstra基于广度优先算法,与简单搜索不同的是Djkstra在访问每一个节点的时候会计算到该节点的最短路径以及上一个节点,如果有新…

python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!

公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!很多学习 Python 的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决。当然,孰能生巧,当…

(开源)Flask+Vue+Bootstrap3 人力资源用Web数据库

闲着没事写了一个轻量级web数据库,在网页端访问并操作SQL,可以进行Excel(xlsx)数据导入\导出,包含用户注册\登录\授权功能,密码有hash,授权目前比较简陋:后端使用了一个列表储存授权用户 已授权用户&#…

access找不到输入表或者dual_在Access窗体中显示指定路径的图片

↑↑↑点击上方图片,了解详情在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来。但是这样做有以下不足:一、需要将图片逐一插入到表中,工作量太大。二、使数据库文件变得庞大。三、相同…

LeetCode 168. Excel列表名称详解

刷到了这一道简单难度题 https://leetcode-cn.com/problems/excel-sheet-column-title/https://leetcode-cn.com/problems/excel-sheet-column-title/ 粗看就是一道进制转换题不过容易掉坑里。 首先略讲一下进制转换, 以701为例,该数字可以转换为以下…

可视化管理_RFID技术实施智能仓储管理可视化

仓储物流管理在各个行业都非常重要,RFID技术助力仓储物流信息管理提高供应链管理的透明度和库存周转率,这样有效减少缺货损失,提高企业内的仓储物流效率。仓库管理过程中,存在区域划分笼统,不容易辨识,货物…

(包含重力矢量)Pygame粒子模拟

半成品,目前速度不能修改,另外某些状况下路径会比较奇怪,因为没有速度计算,包含了重力矢量,可以修改重力方向 import pygame as pg import math import time import random import mathclass Particle(): #Tile is for…

小米蓝牙左右互联_解决不同品牌智能家居的兼容问题,小米米家智能多模网关发布...

如今智能家居种类可谓异常丰富,许多智能家居确实能让日常生活变得更加便捷。但是,相信许多智能家居爱好者都有一个烦恼,不同的品牌智能家居几乎不能实现交互,比如现在正使用Zigbee协议的智能家居,但新购置的智能家居却…

Pygame列表(链表)简单实现贪吃蛇

主要算法: 创建一个二维矩阵映射到屏幕上的像素,逻辑在该矩阵中实现 移动通过4个矢量完成,矢量储存在列表中按照 上右下左 的顺序排列(顺时针90度), 当前矢量以0-3的数字表达,这样进行加二除…

Pygame 整活五子棋

很早之前写了一个类似的五子棋,没有做到pygame里面,闲着没事给整过来了,主要就是加了一个鼠标映射坐标。 表情被锤会变脸。 设置的0积分不知道能不能下载 https://download.csdn.net/download/ChillingKangaroo/82109145 代码不多&#x…

读进程和写进程同步设计_浅谈unix进程进程间通信IPC原理

什么是进程进程间通信进程间通信即为不同进程之间通信,进程同步是进程间通信的一种unix进程间通信的分类有哪些System V进程间通信方式包含:System V消息队列System V信号量System V共享内存UNIX进程间通信方式包含:匿名管道命名管道信号POSI…

(Ipython)Matplotlib 中将二叉树可视化

(注意之前代码有错误目前已更新) 最近学习黑红二叉树,我想如果把二叉树可视化在操作的时候如果出错会比较容易发现。 在网上搜了一圈只有比较简单的ascii 的代码。 自己用Ipython写了一个,比较适合学生。 PS:算法没…

其中一个页签慢_VBA实战技巧15:创建索引页

学习Excel技术,关注微信公众号:excelperfect在工作簿中有许多工作表时,我们可以创建一个单独的工作表当作索引页,在其中创建到每个工作表的链接,就像目录一样,不仅方便查看工作簿中的工作表名称&#xff0c…

Python使用OpenCV 卷积核 实现康威生命游戏

"Mozart, Beethoven, and Chopin never died. They simply became music." 康威生命游戏规则十分简单,简化后如下: 一个“细胞”(或者说单元)分为生或死两种状态, 如果活相邻细胞有2或3个活细胞 该细胞活…

verilog赋多位值_verilog赋值

我现在要用且只能用八位的拨片开关对两个四位变量t1l,t1h赋值,且这两个变量t1l,t1h是要输出的,所以我编了一下程序,先通过拨片开关对输入变量d0,d1赋值,然后将d0,d1的值赋给t1l,t1...我现在要用且只能用八位的拨片开关对两个四位变…

Python/OpenCV 使用傅里叶变换与高斯平滑分析轮廓轨迹

该方法基本思想是通过分析高低频信息检测出轮廓碰伤、运动轨迹突变等信息,在工业上应用可能比较广泛, 对各种不规则形状都能分析,不过对高频信息多的复杂形状可能不好区分形状与噪音。 在这个例子中讲使用一个有鼓包的鸡蛋 import numpy as…

实现mvcc_一文读懂 etcd 的 mvcc 实现

提到事务必谈 ACID 特性, 基于悲观锁的实现会有读写冲突问题,性能很低,为了解决这个问题,主流数据库大多采用版本控制 mvcc[1] 技术,比如 oracle, mysql, postgresql 等等。读可以不加锁,只需要读历史版本即可 (写写还…

Pygame 粒子物理:Numba实现同时渲染十万+像素

图中同时渲染了十万个像素,没有明显掉帧 我对Pygame的印象一直是慢的扣脚的,直到前段时间看到了一段MandelBrot代码(源地址弄丢了)其中使用了这个功能:pygame.surfarray.make_surface() 这里可以直接把numpy阵列转换为pygame.su…