Google AppEngine Python Cron Job urllib - PullRequest
1 голос
/ 06 мая 2011

Мне нужно настроить работу cron с помощью Google AppEngine, который будет использовать 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 ]

2 голосов
/ 06 мая 2011

main() должно заканчиваться после util.run_wsgi_app(application).Все остальное относится к вашему классу обработчиков.

0 голосов
/ 06 мая 2011

Я только что использовал main.py из корня Google App Engine, и тогда это, кажется, дает мне лучший результат.

Было несколько проблем, кроме тех, что упоминал Дрю.

...