视图.py
from collections import OrderedDict
request_dict = OrderedDict()
def payment(request):
request_dict[0] = 1
request_dict[1] = 2
任务.py
from Payment.celery import app
from celery.task.schedules import crontab
from celery.decorators import periodic_task
from datetime import datetime, timedelta
from . import views
@periodic_task(run_every=timedelta(seconds=2))
def addQueueTask():
print('queue_task: ', views.request_dict)
我的问题是变量 OrderedDict 没有更新它们在 tasks.py 中的值并且它保持为空。这段代码中缺少的是我这边。实际上 def payment 是一个从邮递员调用的 web api,并在从邮递员调用时为 OrderedDict 分配两个值。
编辑:定期任务的输出如下:
[2017-06-09 11:16:41,012:INFO/Beat] 调度程序:发送到期任务 PaymentConnectionGatewayApp.tasks.addQueueTask (PaymentConnectionGatewayApp.tasks.addQueueTask) [2017-06-09 11:16:41,016:INFO/MainProcess] 收到的任务:PaymentConnectionGatewayApp.tasks.addQueueTask[bf6d8440-3fad-48ed-88b9-175434913ff8] [2017-06-09 11:16:41,017:警告/Worker-2] queue_task: [2017-06-09 11:16:41,017:警告/Worker-2] /home/saurabh/Documents/PaymentConnectionGatewayProject/PaymentConnectionGatewayApp/views.py [2017-06-09 11:16:41,018:警告/Worker-2] queue_task: [2017-06-09 11:16:41,018:警告/Worker-2] OrderedDict() [2017-06-09 11:16:41,018:INFO/MainProcess] 任务 PaymentConnectionGatewayApp.tasks.addQueueTask[bf6d8440-3fad-48ed-88b9-175434913ff8] 在 0.0014399110004887916s 中成功:无