0
我已经在使用多处理的Python中创建了一个小脚本。我曾想过将它作为cron-job在Google App Engine上运行,但不幸的是Google App Engine不支持多处理。任何人都可以帮助我将其转换为Google App Engine兼容代码(可能使用Google App Engine任务?)?将Python2.6转换为Google App Engine兼容(多处理)
from multiprocessing import Pool
import MySQLdb
import urllib;
import urllib2;
def f(email_url):
url = "http://my-domain.com/cron.php"
values = { "email" : email_url[0], "url" : email_url[1] }
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
urllib2.urlopen(req)
if __name__ == '__main__':
p = Pool()
emails_urls = list()
conn = MySQLdb.connect(host = "XXX.XXX.XXX.XXX", user = "USERNAME",
passwd = "PASSWORD", db = "MY-DATABASE")
cursor = conn.cursor()
cursor.execute ("SELECT email, url FROM data")
rows = cursor.fetchall()
for row in rows:
emails_urls.append((row[0], row[1]))
cursor.close()
conn.close()
p.map(f, emails_urls)
递延库,它是围绕任务队列的包装,将是这个脚本的当前功能的更好的贴合。 http://code.google.com/appengine/articles/deferred.html – Calvin 2011-05-16 20:23:08
是的你是对的 – 2011-05-16 20:25:07