2011-06-30 2 views
1

マルチ処理プールをgaeで実行することはできますか?GAEでマルチプロセッシングプールを実行できますか?

はい、どのように私のコードが来た場合、私のローカルマシンに細かい動作しますが、DjangoのリモートAPIを使用して、次のErr MSGを飛び出し:

File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/multiprocessing/pool.py", line 148, in map return self.map_async(func, iterable, chunksize).get()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/multiprocessing/pool.py", line 422, in get raise self._value TypeError: init() keywords must be strings

+3

開発SDK環境では、ローカルマシンがGoogleのApp Engineサーバー上で実行されるものだけを実行するように弱く試みることさえありません。したがって、Google App Engineに配備したとき、特にそのSDKのドキュメントにその使用が記述されていないときに、ローカルで動作するファンシーがうまく動作しないと、大きな驚きはありません。 App Engineで「バックグラウンドワーク」を行う必要がある場合は、タスクキューに興味があります。 http://code.google.com/appengine/docs/python/taskqueue/ – Sasha

+0

@Sashaはい、あります。 dev_appserverでマルチプロセッシングが動作する唯一の理由は、2.5で導入された機能でOPが2.6で動作しているからです。 –

答えて

2

あなたが運用サーバー上でマルチプロセッシングを実行することはできません、 remote_apiを使用している場合は、ローカルで(マルチプロセッシングを使用して)スクリプトを実行し、各Poolプロセスがremote_api呼び出しを介して実動サーバーと通信するようにすることができます。

実際にサーバーサイドのコードでmultiprocessスタイルアクションが必要な場合は、Mapper APIがこのタスクに最適です。

+1

または、タスクキューAPI。 –

関連する問題