Python 芹菜:收到类型为'的未注册任务;芹菜.任务.库存';
当我运行芹菜如下:Python 芹菜:收到类型为'的未注册任务;芹菜.任务.库存';,python,django,celery,Python,Django,Celery,当我运行芹菜如下: 芹菜-书签工作者-l信息 它返回: [2020-11-10 23:14:21,649: ERROR/MainProcess] Received unregistered task of type 'celery_deploy.tasks._stocks'. The message has been ignored and discarded. Did you remember to import the module containing this task? Or mayb
芹菜-书签工作者-l信息
它返回:
[2020-11-10 23:14:21,649: ERROR/MainProcess] Received unregistered task of type 'celery_deploy.tasks._stocks'.
The message has been ignored and discarded.
Did you remember to import the module containing this task?
Or maybe you're using relative imports?
KeyError: 'celery_deploy.tasks._stocks'
project bookmarks目录中的my芹菜.py(Django project settings.py所在位置):
Django应用程序Cellery_deploy中的My tasks.py:
from __future__ import absolute_import
from celery import shared_task
from django.core.cache import cache
from urllib.request import urlopen
from bookmarks.celery import app
import json
import redis
apibase = "https://financialmodelingprep.com/api/v3/"
apikey = "[KEY]"
exchange_open_day = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
json_parsed = {}
CACHE_TIMEOUT = 60*60
@app.task
def _stocks():
url = apibase + "quotes/nyse" + "?" + apikey
response = urlopen(url)
stocks_parsed = json.loads(response.read().decode("utf-8"))
for _object in stocks_parsed:
cache.set(_object['symbol'], _object['price'], CACHE_TIMEOUT)
我读了很多与我类似的问题,但仍然无法理解
我应该怎么做才能修复它?谢谢。错误可能与您的计算机有关。假设您正在尝试,则以下操作将不起作用,因为您需要设置
task\u cls
属性
这里
书签
引用了您的目录,但无法在运行时导入所需的方法
你能把这行改成包含你的文件名吗
app = Celery('bookmarks.tasks', backend=BACKEND_URL, broker=BROKER_URL)
这有望解决问题。错误可能与您的计算机有关。假设您正在尝试,则以下操作将不起作用,因为您需要设置
task\u cls
属性
这里
书签
引用了您的目录,但无法在运行时导入所需的方法
你能把这行改成包含你的文件名吗
app = Celery('bookmarks.tasks', backend=BACKEND_URL, broker=BROKER_URL)
这有望解决问题。如果不起作用,请添加项目目录的树结构。好的,我将再次编码。如果不起作用,请添加项目目录的树结构。好的,我将再次编码。答案有用吗?请务必更新您的状态抱歉迟到了。即使我添加了“.tasks”,它仍然有一些问题。它返回“接收到类型为'bookmarks.cellery\u deploy.tasks.\u stocks'的未注册任务。该消息已被忽略并丢弃。”。。。真奇怪。为什么这里有空格
。\u stock
-打字错误?我在GCP上部署了芹菜,这与这个问题有关吗?如果没有,也许我需要再次检查我的代码。可能,我不确定。。。你可以看到答案有帮助吗?请务必更新您的状态抱歉迟到了。即使我添加了“.tasks”,它仍然有一些问题。它返回“接收到类型为'bookmarks.cellery\u deploy.tasks.\u stocks'的未注册任务。该消息已被忽略并丢弃。”。。。真奇怪。为什么这里有空格。\u stock
-打字错误?我在GCP上部署了芹菜,这与这个问题有关吗?如果没有,也许我需要再次检查我的代码。可能,我不确定。。。你可以看到
app = Celery('bookmarks.tasks', backend=BACKEND_URL, broker=BROKER_URL)