我有一个关于芹菜的问题。我正在调用一个名为 task 的函数,我想返回一个特定类的列表。但如果我这样做,我的服务器上会出现错误:
No module named 'modelsgert'
modelsgert 是定义了我的类的 python 文件的名称。我已将相同的文件导入到位于我的服务器上的项目中,但他不知道这一点。可能他发送了对 celery 服务器上文件位置的引用。
代码芹菜服务器:
from celery import Celery
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from modelsgert import(
Diagnose,
Procedur,
DBSession,
Data
)
import time
celery = Celery('tasks', backend='amqp', broker='amqp://guest@localhost//')
@celery.task()
def test_task(data):
diagnose = DBSession.query(Diagnose)
listofdiagnoses = []
listofdiagnoses.append(diagnose[0])
listofdiagnoses.append(diagnose[1])
return (listofdiagnoses)
代码金字塔服务器
celery = Celery( backend='amqp', broker='amqp://guest@192.168.1.5:5672//')
celery.conf.update(CELERY_RESULT_BACKEND = 'amqp', BROKER_HOST='192.168.1.5', BROKER_USER='kristof', BROKER_PASSWORD='bob', BROKER_VHOST='myvhost', BROKER_PORT=5672)
task = celery.send_task('tasks.test_task',["kakker"])
TheData = task.get()
有没有办法以适当的方式解决这个问题?