Python脚本定时部署
慢慢来~
目录
收起
1、使用场景
2、设置定时任务的两种方式
2.1 用Python内部的定时器
关于更多schedule模块使用详情可参考
最终这个是要ubuntu终端运行的。打开终端
想了解更多APScheduler模块使用,可参考一下文档,或网上检索,我这里只做一个引入。
2.2 使用crontab部署定时任务
1、使用场景
在Ubuntu系统中定时跑Python脚本
2、设置定时任务的两种方式
2.1 用Python内部的定时器
2.1.1 调用schedule模块
#pip安装模块
#建议使用国内源这样会比较快一些。
pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com schedule
#在代码中插入模块
import schedule
import time
#定义一个函数
def hello_fun():
print("hello world!")
#设置定时器
#设置为每天的下午两点半运行代码。
schedule.every().day.at('14:30').do(hello_fun)#这里只需要函数名
#调用定时任务
while True:
schedule.run_pending()
time.sleep(5)
关于更多schedule模块使用详情可参考
最终这个是要ubuntu终端运行的。打开终端
#这里是方式py文件的文件夹,用绝对路径。
#有的将Python3设置为python默认,所以也可以用python代替python3
#在虚拟机终端类似于windows系统的cmd,这里一般是不能关闭的,关闭后要运行的代码就终止了,
#而且修改代码后,需要重新输入一次才会更新要运行的代码。
python3 /home/user/python_code/name.py
2.1.2 调用APScheduler模块
#pip安装APScheduler库
pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com apscheduler
#插入模块
from apscheduler.schedulers.blocking import BlockingScheduler
#设置时区
scheduler = BlockingScheduler(timezone='Asia/Shanghai')
#定义一个函数
def hello_world():
print('hello world!!!')
#设置定时任务
scheduler.add_job(hello_world, "cron", hour=12, minute=5, misfire_grace_time=60)
#启动定时任务
scheduler.start()
想了解更多APScheduler模块使用,可参考一下文档,或网上检索,我这里只做一个引入。
2.2 使用crontab部署定时任务
crontab部署定时任务,是本文档重点要讲的。看着有点复杂,其实用起来是非常好用的。
最大的优点,修改代码之后不用反复修改部署文档。
一般linux系统会自带crontab
2.2.1 开启crontab服务
sudo service cron start
2.2.2 进入编辑模式
crontab -e
#一开始会让你选一个编辑器,我一般会选vim也就是代号为2的那个。
#如果一开始选择的编辑器不好用可以换
发布于 2022-12-07 11:53・IP 属地北京