セロリについて質問です。task という名前の関数を呼び出しており、特定のクラスのリストを返したいと考えています。しかし、これを行うと、サーバーでエラーが発生します。
No module named 'modelsgert'
modelsgert は、クラスが定義されている python ファイルの名前です。サーバーにあるプロジェクトに同じファイルをインポートしましたが、彼はこれを知りません。おそらく彼は、セロリ サーバー上のファイルの場所への参照を送信します。
コード セロリ サーバー:
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()
この問題を適切な方法で修正する方法はありますか?