跳转到主要内容

适用于无依赖的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,也可以接受 minuteshours 等关键字参数。还有用于将长时间任务委托给后台进程的 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 查看哈希值)

上传时间 Python 3

支持者