Django异步执行任务django-background-tasks

1、安装

pip install django-background-tasks

2、注册服务

python 复制代码
INSTALLED_APPS = [
    ...
    'background_task',
]

3、生成表

python 复制代码
// 生成迁移
python manage.py makemigrations
//运行迁移
python manage.py migrate

4、创建文件,模拟任务

python 复制代码
from background_task import background # type: ignore
import time

@background(schedule=10)  # 任务将在 10 秒后执行
def send_email_task(subject, message):
    print(f"Sending email: {subject}, {message}")
    time.sleep(20)  # 模拟耗时操作
    print("Email sent successfully!")

5、调用

python 复制代码
def tasks_list(request):
    #测试执行任务
    for i in range(3):
        print(i)
        send_email_task('Hello', 'This is a test email')
        #time.sleep(1)
        # 返回字符串
    return HttpResponse('Not Found')  # 正确:返回一个 HttpResponse 对象    

6、启动后台进程

python 复制代码
python manage.py process_tasks

7、访问方法,开始执行

相关推荐
小兔崽子去哪了4 小时前
Java 自动化部署
java·后端
Selicens4 小时前
git批量删除本地多余分支
前端·git·后端
哈密瓜的眉毛美4 小时前
Java 基础补充:零基础学Java | Scanner 类详解
后端
ma_king4 小时前
入门 java 和 数据库
java·数据库·后端
平平无奇的开发仔4 小时前
Mybaitis 项目多模块多依赖xml加载classpath:和classpath*:的区别
后端
神奇小汤圆5 小时前
MySQL的10种高级SQL,性能飞升
后端
AI探索者5 小时前
LangGraph 人工干预:Human-in-the-loop 机制详解
后端
神奇小汤圆5 小时前
Java并发核心:你以为AQS很复杂?无非是"两个队列"和"一个状态"
后端
shark_chili5 小时前
Spring AI Alibaba 入门与实战:一文构建智能天气查询助手
后端
Java编程爱好者5 小时前
Java 高频面试题总结(2026通用版)
后端