在谷歌应用程序引擎中调试python cron作业的最佳方法

时间:2014-03-28 03:21:39

标签: python google-app-engine

我使用google appengine cron脚本启动GCE实例

我的伪代码在python中如下:

credentials = AppAssertionCredentials(
    scope='https://www.googleapis.com/auth/compute')
HTTP = credentials.authorize(httplib2.Http(memcache))
compute = discovery.build('compute', 'v1', http=HTTP)
# INSTANCE is the json description copied from the cloud console
request = compute.instances().insert(project=PROJECT_ID, body=INSTANCE, zone="us-central1-b" response = request.execute(http=HTTP)

我想调试cron作业,因为在云控制台中cron脚本报告失败,不幸的是,logger.debug()从未进入应用引擎日志或应用的网址。如果我使用网址,我可以运行cron脚本但是,我想调试它。有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

您可以使用标准日志记录,并强制将记录器设置为调试级别(不是完美的解决方案,而应该使用日志配置文件http://docs.python.org/2/library/logging.config.html)。现在我不知道这是否也适用于谷歌应用引擎。

import logging
logging.basicConfig(level=logging.DEBUG)
LOG = logging.getLogger(__name__)
LOG.info("Starting my script")
.....
# something fails
LOG.error("Something happend")
.....
LOG.info("Finished my script")

通过这种方式,您应该收到来自您的cron的电子邮件,显示错误消息,因为它会打印出标准错误。