前言
更多内容,请访问我的 个人博客。
谈到定时任务,大家可能会优先想到 linux 中的 crontab
,或者 windows 中的任务计划。这些工具用起来都很方便,但是说出来你可能不信,最近我在生信流程中使用 crontab
命令完成一些自动化操作时,遇到问题了。
不知是不是 crontab
命令不允许有 qsub 的提交操作,还是管理员设置了 crontab
发起任务的用户没有节点访问权限。。。总之,一向很便利的 crontab
命令居然给我挖坑了。于是,我只得自己写一个定时任务。
当然,核心功能是基于今天的主角 APScheduler
定时任务框架。
安装
安装只需要一行命令。
pip3 install apscheduler
如果对Python的环境搭建及模块安装还不熟悉,可以看看我写的另一篇博客 Python环境搭建及模块安装 。
运行
首先介绍两个最常用的调度器:
- BlockingScheduler
阻塞式调度器:适用于只跑调度器的程序。
- BackgroundScheduler
后台调度器:适用于非阻塞的情况,调度器会在后台独立运行。
这是人说的话吗?字我都看得懂,意思一点也不明白。。。
简单说来,可以把 BlockingScheduler
看成是单线程&