11

一部のロジックを別のバッチ プロセスに移動したい Pylons アプリがあります。テスト用にメインアプリの下で実行していますが、データベースで多くの作業を行う予定であり、バックグラウンドで常に実行される別のプロセスにしたいと考えています。メインの pylons アプリがジョブをデータベースに送信し、新しいプロセスが各ジョブで要求された作業を実行します。

コントローラをスタンドアロン スクリプトとして起動するにはどうすればよいですか?

私は現在持っています:

from warehouse2.controllers import importServer
importServer.runServer(60)

およびコントローラーファイルで、ただしコントローラークラスの一部ではありません:

def runServer(sleep_secs):
    try:
        imp = ImportserverController()
        while(True):
            imp.runImport()
            sleepFor(sleep_secs)

    except Exception, e:
        log.info("Unexpected error: %s" % sys.exc_info()[0])
        log.info(e)

ただし、コマンド ラインで ImportServer.py を開始すると、次のようになります。

2008-09-25 12:31:12.687000 Could not locate a bind configured on mapper Mapper|I
mportJob|n_imports, SQL expression or this Session
4

2 に答える 2

1

私は自分の回答を編集し、ベン・バンガートによる他の回答を支持しています。これは正しい回答です。私は答え、それ以来正しい方法を学びました(後述)。本当にしたい場合は、この回答の履歴をチェックして、私が最初に提案した間違った(しかし機能する)ソリューションを確認してください。

于 2008-09-25T19:04:57.483 に答える