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、访问方法,开始执行

相关推荐
花间相见12 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
GISer_Jing12 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
Moment13 小时前
AI 编程时代,聊聊我的 Mac mini 双屏桌面
前端·后端
合尘猫14 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事14 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
学长毕设14 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
用户0190275816114 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python
橙序员小站14 小时前
Windows 安装包反复报错?一次排查补上了 5 个 CI 检查点
后端
陈随易14 小时前
Cloudflare 出钱,Vite 团队挑人,44 个维护者分 30 万美元
前端·后端·程序员
SimonKing14 小时前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员