Google AppEngine Python Cron作业urllib

时间:2011-05-06 08:56:01

标签: python google-app-engine cron

我需要使用Google AppEngine设置一个cron作业,它将使用urllib2来执行我的另一台服务器上托管的网页。

我知道脚本正在执行(检查日志),但我的python脚本中的记录似乎从未输出。

#!/usr/bin/env python
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util

import logging
import urllib
import urllib2

class MainHandler(webapp.RequestHandler):
    def get(self):
        logging.info('Starting backups.')


def main():
    application = webapp.WSGIApplication([('/', MainHandler)],
                                         debug=True)
    util.run_wsgi_app(application)
    urlStr = "http://example.com/cron.php"

    request = urllib2.Request(urlStr)
    try:
            response = urllib2.urlopen(request)
            logging.info("Backup complete!")
    except URLError, e:
            logging.error('There was an error %s', e.reason)


if __name__ == '__main__':
    main()

有人可以看到这个有什么问题吗?

2 个答案:

答案 0 :(得分:2)

main()应在util.run_wsgi_app(application)之后结束。其余部分属于您的处理程序类。

答案 1 :(得分:0)

我刚刚使用了Google App Engine根目录中的main.py,这似乎给了我更好的结果。

除了德鲁提到的以外,还有一些问题。