适用于无依赖的Python Web框架的异步后台任务
项目描述
autocron
autocron 是一个无需依赖标准库的Python后台任务库。它与如 django、pyramid、flask、bottle、tornado 或 starlette 等Web框架无缝配合。
autocron 使将长时间运行和重复的任务委托给外部进程变得简单。无需配置文件。
autocron 专为大多数不需要大规模扩展且不希望添加不必要的依赖的Web应用程序设计。
安装
使用pip进行安装
$ pip install autocron
或conda
$ conda install autocron
快速入门
autocron提供了两个装饰器:接受 cron 格式的字符串作为参数的 cron
,也可以接受 minutes 和 hours 等关键字参数。还有用于将长时间任务委托给后台进程的 delay
。
以下是一个如何使用 autocron 与 flask Web 框架的简单示例,可以用 $ flask --app application run
运行
# application.py
import autocron
from flask import Flask
app = Flask(__name__)
autocron.start("the_flask_app.db")
@autocron.cron("* * * * *")
def cronjob():
# do something from time to time ...
@autocron.delay
def do_this_later():
# time consuming task here ...
@app.route("/later")
def later():
do_this_later()
return "delayed action triggered"
创建 Flask app
实例后,调用 autocron.start(<databasename>)
将启动后台工作进程。带有 cron
装饰器的 cronjob()
函数将每分钟执行一次,而带有 delay
装饰器的 do_this_later()
函数每次应用程序处理 /later
URL 时都会委托给后台工作进程。终止应用程序将关闭工作进程。
有关如何将 autocron 与其他框架一起使用的更多信息示例,请参阅文档。
文档
完整文档和发行说明在 https://autocron.readthedocs.org
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
autocron-1.2.0.tar.gz (33.0 kB 查看哈希值)
构建分发
autocron-1.2.0-py3-none-any.whl (37.2 kB 查看哈希值)