1

セロリ遅延タスクで sqlalchemy モデルを使用するにはどうすればよいですか?

セロリにはこのオプションhttps://github.com/celery/celery/blob/master/celery/backends/database/session.pyがあるようですが、使用方法の例が見つかりません。

@celery.task
def mytask(data):
   # how to I get session here?

このスレッドは私を助けませんでした。

4

1 に答える 1

2

セッションをグローバル変数として作成してセロリタスクで使用しない理由はありますか?

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# an Engine, which the Session will use for connection
# resources
some_engine = create_engine('postgresql://scott:tiger@localhost/')

# create a configured "Session" class
Session = sessionmaker(bind=some_engine)

# create a Session
session = Session()

@celery.task
def mytask(data):
  session.commit(data)
于 2013-02-25T18:52:19.753 に答える