Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜:收到类型为'的未注册任务;芹菜.任务.库存';_Python_Django_Celery - Fatal编程技术网

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)