无需其他服务的django3任务运行器
django-simple-task的Python项目详细描述
Django简单任务
django-simple-task
在django3中运行后台任务,而不需要其他服务和工人。它在与ASGI应用程序相同的事件循环中运行它们。作为一个合适的任务执行者,它并不具有弹性,比如芹菜,但它适用于一些简单的任务,并且总体开销较小。在
指南
安装软件包:
pip install django-simple-task
已将其添加到已安装的应用程序:
^{pr2}$应用ASGI中间件:
# asgi.pyfromdjango_simple_taskimportdjango_simple_task_middlwareapplication=django_simple_task_middlware(application)
在Django视图中调用后台任务:
fromdjango_simple_taskimportdeferdeftask1():time.sleep(1)print("task1 done")asyncdeftask2():awaitasyncio.sleep(1)print("task2 done")defview(requests):defer(task1)defer(task2)returnHttpResponse(b"My View")
需要使用ASGI服务器运行Django。Official Doc
配置
并发级别可以通过向设置中添加DJANGO_SIMPLE_TASK_WORKERS
来控制。默认为1
。在
- 项目
标签: