当我运行批处理文件以启用 Celery 时:
在运行主模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py"
函数名称:" _run_module_as_main"
参数列表:"main", mod_spec
在代码执行时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py"
函数名称:" _run_code"
参数列表:code, run_globals
在执行celery主函数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery__main__.py"
函数名称:" main"
在执行celery命令行函数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\celery.py"
函数名称:" execute_from_commandline"
参数列表:argv
在执行CeleryCommand时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" execute_from_commandline"
参数列表:argv
在设置应用程序命令行参数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" setup_app_from_commandline"
参数列表:argv
在查找应用程序时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" find_app"
参数列表:app
在查找应用程序时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\app\utils.py"
函数名称:" find_app"
参数列表:app, imp=imp
在查找模块名时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" symbol_by_name"
参数列表:name, imp=imp
在查找模块名时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\kombu\utils\imports.py"
函数名称:" symbol_by_name"
参数列表:module_name, package=package, **kwargs
在当前工作目录中导入模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\utils\imports.py"
函数名称:" import_from_cwd"
参数列表:module, package=package
在导入模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\importlib__init__.py"
函数名称:" import_module"
参数列表:name[level:], package, level
无法找到名为'tasks'的模块。
我试图将此路径添加到sys.path中,更改虚拟环境,但都没有起作用。
代码本身是tasks.py。
我该如何解决这个问题?
python.exe -m celery -A tasks worker.celery -P eventlet -f celery.logs -l info
发生错误:
Traceback (most recent call last):在运行主模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py"
函数名称:" _run_module_as_main"
参数列表:"main", mod_spec
在代码执行时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\runpy.py"
函数名称:" _run_code"
参数列表:code, run_globals
在执行celery主函数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery__main__.py"
函数名称:" main"
在执行celery命令行函数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\celery.py"
函数名称:" execute_from_commandline"
参数列表:argv
在执行CeleryCommand时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" execute_from_commandline"
参数列表:argv
在设置应用程序命令行参数时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" setup_app_from_commandline"
参数列表:argv
在查找应用程序时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" find_app"
参数列表:app
在查找应用程序时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\app\utils.py"
函数名称:" find_app"
参数列表:app, imp=imp
在查找模块名时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\bin\base.py"
函数名称:" symbol_by_name"
参数列表:name, imp=imp
在查找模块名时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\kombu\utils\imports.py"
函数名称:" symbol_by_name"
参数列表:module_name, package=package, **kwargs
在当前工作目录中导入模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\site-packages\celery\utils\imports.py"
函数名称:" import_from_cwd"
参数列表:module, package=package
在导入模块时发生错误:
文件路径:"C:\Users\Chernov.a\Desktop\Projects\Roscosmos\Python36-32\lib\importlib__init__.py"
函数名称:" import_module"
参数列表:name[level:], package, level
无法找到名为'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
我该如何解决这个问题?