10,000adam_id
のデータベースがあります。それぞれについてadam_id
、APIを介して情報を取得する必要があります。
私のテーブルは次のようになります。
`title`
- adam_id
- success (boolean)
- number_of_tries (# of times success=0 when trying to do the pull down)
これが私が作成したい関数です:
def pull_down(cursor):
work_remains = True
while work_remains:
cursor.execute("""SELECT adam_id FROM title WHERE success=0
AND number_of_tries < 5 ORDR BY adam_id LIMIT 1""")
if len(cursor.fetchall()):
adam_id = cursor.fetchone()[0]
do_api_call(adam_id)
else:
work_remains = False
def do_api_call(adam_id):
# do api call
if success:
cursor.execute("UPDATE title SET success=1 WHERE adam_id = adam_id")
else:
cursor.execute("UPDATE title SET number_of_tries+=1 WHERE adam_id=adam_id")
n
1つの同期プロセスではなく、Pythonのマルチプロセッシング機能を使用するワーカーで上記をどのように実行しますか?マルチプロセッシングモジュール(http://docs.python.org/library/multiprocessing.html)を調べ始めましたが、これまでのところ、理解するのはかなり難しいようです。