我有一个包含 10,000 个的数据库adam_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
我将如何使用 python 的多处理功能而不是使用一个同步进程对工作人员执行上述操作?我已经开始查看 Multiprocessing 模块(http://docs.python.org/library/multiprocessing.html),但到目前为止对我来说似乎很难消化。