使用下面的代码我发送错误的电子邮件.我正在尝试在电子邮件中包含指向云控制台日志的链接,但请求ID似乎在30%的时间内都是错误的.
如果我发现具有错误ID的请求,它总是几乎完美匹配,除了最后三个字符0(在Stackdriver控制台中)而不是101(从env变量返回),总是相同的替换 - 这是云控制台的错误或我是否尝试使用这些ID错误?
代码(精简版):
class ErrorAlertMiddleware(object):
def process_response(self, request, response):
if response.status_code == 500:
logger.info(os.environ.get('REQUEST_LOG_ID'))
msg = 'Link to logs: https://console.cloud.google.com/logs/viewer?' + '&'.join((
'project=%s' % MY_APP_ID,
'expandAll=true',
'filters=request_id:%s' % os.environ.get('REQUEST_LOG_ID'),
'resource=gae_app',
))
# this is a utility func that simply sends email
sendemail(ERROR_RECIPIENT, msg)
return response
Run Code Online (Sandbox Code Playgroud)
注意我还记录了REQUEST_LOG_ID以确保它没有被编码或者其他东西,并且日志输出与链接中显示的内容相匹配
我正在将以前在 IBM 的 DoCloud 上运行的应用程序迁移到基于 Watson 的新 API。由于我们的应用程序没有 CSV 格式的数据,也没有模型层和数据层之间的分离,上传一个 LP 文件和一个读取 LP 文件并解决它的模型文件似乎更简单。我可以上传并且它声称可以正确解决但返回空的解决状态。我还输出了各种模型信息(例如变量的数量),并且一切都归零了。我已经确认 LP 不是空白的 - 它有一个微不足道的 MILP。
这是我的模型代码(其中大部分直接取自https://dataplatform.cloud.ibm.com/exchange/public/entry/view/50fa9246181026cd7ae2a5bc7e4ac7bd 上的示例):
import os
import sys
from os.path import splitext
import pandas
from docplex.mp.model_reader import ModelReader
from docplex.util.environment import get_environment
from six import iteritems
def loadModelFiles():
"""Load the input CSVs and extract the model and param data from it
"""
env = get_environment()
inputModel = params = None
modelReader = ModelReader()
for inputName in [f for f in os.listdir('.') …Run Code Online (Sandbox Code Playgroud) 最近开始使用Google Flex Vms,并且在日志中/_ah/background每次都有多个请求,最后约1个小时.我能找到的唯一的参考是这个问题提到它们与背景线程有关,但我不认为这是这样的情况:
有任何想法吗?
python google-app-engine google-compute-engine google-managed-vm