跳转到主要内容

无需其他服务即可运行的Django 3任务运行器

项目描述

Django Simple Task

Github Actions Documentation Status Code Coverage Python Version PyPI Package License

django-simple-task 在Django 3中运行后台任务,无需其他服务和工作进程。它在与您的ASGI应用程序相同的事件循环中运行它们。它不如Celery这样的正确任务运行器具有弹性,但对于一些简单任务来说,具有更少的总体开销。

指南

安装包

pip install django-simple-task

将其添加到已安装的应用程序中

# settings.py
INSTALLED_APPS = [
	...
	'django_simple_task'
]

应用ASGI中间件

# asgi.py
from django_simple_task import django_simple_task_middlware
application = django_simple_task_middlware(application)

在Django视图中调用后台任务

from django_simple_task import defer

def task1():
	time.sleep(1)
	print("task1 done")

async def task2():
	await asyncio.sleep(1)
	print("task2 done")

def view(requests):
	defer(task1)
	defer(task2)
	return HttpResponse(b"My View")

需要使用ASGI服务器运行Django。 官方文档

配置

可以通过将DJANGO_SIMPLE_TASK_WORKERS添加到设置中来控制并发级别。默认为1

项目详情


下载文件

下载适合您平台文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-simple-task-0.1.2.tar.gz (4.5 kB 查看散列)

上传时间:

构建分布

django_simple_task-0.1.2-py3-none-any.whl (5.4 kB 查看散列值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面