J'ai googlé ce sujet beaucoup, mais ne peut pas trouver une solution qui correspond à mes besoins :(Python multitraitement avec MySQL
J'ai un DB MySQL avec une table contenant adresses e-mail (10.000+).
Je voudrais lancer un traitement par lots sur eux toutes les 5 minutes.
donc je vais deviner Python est un bon choix pour récupérer le resultset de MySQL, puis appeler une ligne de commande avec l'adresse e-mail 'comme arguments
Comment puis-je le faire de la meilleure façon? hink d'obtenir le résultat complet de MySQL et ensuite avoir un tas de travail appelant la ligne de commande avec les arguments jusqu'à ce qu'il n'y ait plus d'adresse mail. Cela peut-il être fait d'une manière simple, mais stable?
J'ai essayé de modifier votre exemple pour un vrai: ' de multitraitement recueil HSC importation Piscine importation mysqldb p = Piscine() EMAIL_ADDRESSES = [] def treat_email (adresse_électronique): print "% s"% (adresse_électronique) conn = MySQLdb.connect (hôte = "localhost", utilisateur = "YYY", passwd = "XXX", db = "ZZZ") curseur = conn.cursor() cursor.execute ("SELECT email à partir de groupe de données par email") = lignes cursor.fetchall() pour la rangée en rangées: email_addresses.append (rangée [0]) curseur. close() conn.close() p.map (treat_email, EMAIL_ADDRESSES) ' Mais recueil HSC, il échoue avec AttributeError: objet 'module' n'a pas d'attribut 'treat_email' – user649542
Cela fonctionne avec: si __name__ == '__main__': Merci beaucoup :) – user649542