我已阅读 Django-Q 异步任务的 documentation 我已经通过这个video在Windows 10上安装了Redis(我还有RabbitMQ服务器)
我没有收到任何错误,我从函数中看不到任何内容,所以我相信该函数不会执行。我认为问题出在 Redis 服务器配置上。
你有什么想法吗? 这里是代码:
设置.py
INSTALLED_APPS = [..]+'django_q',
# redis defaults
Q_CLUSTER = {
'redis': {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
'password': None,
'socket_timeout': None,
'charset': 'utf-8',
'errors': 'strict',
'unix_socket_path': None
}
}
任务.py
import math
import sys
def add(n1,n2):
test=n1/n2
return test
views.py
def app_details(request,slug):
if request.method == "POST":
test = request.POST.get('iy')
t1=test
t2=test*1542
async('tasks.saga',t1,t2)
return render(request, 'page.html',....
我在 PyCharm 中收到此消息(此处没有错误):
23:54:27 [Q] INFO Enqueued 3
Redis 命令:
Redis 命令服务器:
关于任务输出缺失/错误:
除了您发送的INFO
行之外,在 Django-Q 上执行的任务不会在应用程序的常规日志中产生任何内容。如果你想查看结果/错误。您需要打开管理页面并转到 Django-Q 部分下的“成功/失败的任务”。您可以检查数据库中的 django_q 表,但任务执行结果不是人类可读的格式。对于Redis: