J'ai un code multi-traitement que la base de données de recherche enregistre pour une certaine condition, quand il atteint la fin de la base de données, la boucle doit s'arrêter, comment puis-je faire cela? Voici le code:Comment quitter une boucle de multitraitement Python?
import psycopg2
from multiprocessing import Pool
conn = psycopg2.connect(a database)
query=conn.cursor()
query.execute(some query)
def scanfile():
try: row=query.fetchone()
except: return False #here the loop must stop
#do something with row...
if __name__=='__main__':
pool=Pool()
while True:
pool.apply_async(scanfile)
pool.close()
pool.join()
Cela semble être une mauvaise idée. Check http://initd.org/psycopg/docs/usage.html#thread-and-process-safety –
Jusqu'à présent, cela fonctionne, il saisit la ligne et fait des choses avec, mais le programme ne finit jamais. – Pablo