Ошибка в Celery: «ModuleNotFoundError: нет модуля с именем« tasks »»

1

Когда я запускаю пакетный файл, чтобы включить Celery:

python.exe -m celery -A tasks worker.celery -P eventlet -f celery.logs -l info 

Произошла ошибка:

Traceback (последний последний вызов):
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py", строка 193, в _run_module_as_main " main ", mod_spec)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py", строка 85, в _run_code exec (code, run_globals)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery__main __. Py", строка 18, main()
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery__main __. Py", строка 14, в основном _main()
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\celery.py", строка 326, в главной cmd.execute_from_commandline (argv)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\celery.py", строка 488, в execute_from_commandline
super (CeleryCommand, self).execute_from_commandline (argv)))
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py", строка 279, в файле execute_from_commandline
argv = self.setup_app_from_commandline (argv)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py", строка 481, в setup_app_from_commandline
self.app = self.find_app (приложение)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py", строка 503, в find_app
return find_app (app, symbol_by_name = self.symbol_by_name)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\app\utils.py", строка 355, в find_app
sym = symbol_by_name (приложение, imp = imp)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py", строка 506, в symbol_by_name
return imports.symbol_by_name (name, imp = imp)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\kombu\utils\imports.py", строка 56, в symbol_by_name
module = imp (имя модуля, пакет = пакет, ** kwargs)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\utils\imports.py", строка 101, в import_from_cwd
return imp (модуль, пакет = пакет)
Файл "C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\importlib__init __. Py", строка 126, в import_module
return _bootstrap._gcd_import (имя [уровень:], пакет, уровень)
Файл "", строка 994, в _gcd_import
Файл "", строка 971, в _find_and_load
Файл "", строка 953, в _find_and_load_unlocked
ModuleNotFoundError: Нет модуля с именем 'tasks'

Я попытался добавить этот путь к sys.path, изменить виртуальную среду, но ничего не помогло.

Сам код tasks.py

import requests
from requests.auth import HTTPBasicAuth

from celery import Celery


celery_app = Celery('nsi', broker='amqp://guest@localhost//')


@celery_app.task(
    name='sendToNsi',
    default_retry_delay = 4 *(60 * 60),
    max_retries =  1000,
    autoretry_for=(Exception,))

def sendToNsi(NSI_url,answer):

    s=requests.Session()
    post_request = s.post(NSI_url, data=answer,auth=HTTPBasicAuth('__', '___'))
    post_request.raise_for_status()

Структура проекта

───webNSI
   │   1.py
   │   config.py
   │   config1.py
   │   journal.log
   │   Message.xsd
   │   Schemas.py
   │   test2.py
   │   views - Copy.py
   │   views.py
   │   views2.py
   │   __init__.py
   │
   ├───model
   │   │   Answers.py
   │   │   DBOperation.py
   │   │   XmlHandler.py
   │   │   __init__.py
   │   │
   │   ├───MQ
   │   │   │   celery.logs
   │   │   │   CeleryMQ_Task.xml
   │   │   │   celery_worker.bat
   │   │   │   tasks.py
   │   │   │   __init__.py
   │   │   │
   │   │   └───__pycache__
   │   │           tasks.cpython-36.pyc
   │   │           __init__.cpython-36.pyc
   │   │
   │   └───__pycache__
   │           Answers.cpython-36.pyc
   │           DBOperation.cpython-36.pyc
   │           XmlHandler.cpython-36.pyc
   │           __init__.cpython-36.pyc
   │
   └───__pycache__
           config.cpython-36.pyc
           Schemas.cpython-36.pyc
           views.cpython-36.pyc
           __init__.cpython-36.pyc
           __init__.cpython-37.pyc

───__pycache__
       runserver.cpython-36.pyc

Как я могу решить эту проблему?

  • 0
    Не могли бы вы сформулировать вашу проблему на английском языке. Вы достигнете гораздо больше людей.
Теги:
flask
celery

1 ответ

0

Возможно, файл задач не отображается на пути, который вы его выполняете.

пытаться:

python.exe -m celery worker.celery --app=nsi -P eventlet -f celery.logs -l info 
  • 0
    Спасибо за ответ! Но это не помогает Файл "<замороженный importlib._bootstrap>", строка 994, в файле _gcd_import "<замороженный importlib._bootstrap>", строка 971, в _find_and_load File "<замороженный файл importlib._bootstrap>", строка 953, в _find_and_load_unlocked ModuleNotFoundError: нет модуля с именем 'C' Аналогичный результат, если я попытаюсь из источника проекта ModuleNotFoundError: нет модуля с именем 'webnsi'
  • 0
    Попробуйте команду, которую я редактировал. Спасибо @Garciastud
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню