在Cloud Function超时前5秒运行某事



如果我有一个谷歌云功能,我部署了一个最大超时(让我们说540s),我怎么能在它超时之前运行一些东西?例如,在超时前5秒,我想运行自定义行吗?例如:

def run_something(data, context):
print('Function running...')
time.sleep(600)
if time_left <= 5_seconds: 
print("Function is about to time out in 5 seconds")

如果您想要跟踪超时的请求以进行进一步调查,您可以在Stackdriver Logging中过滤云函数的超时请求.

请注意,超时在Stackdriver中不会作为错误报告,但是您可以设置超时日志条目的过滤器。从Google Cloud Platform控制台,转到Stackdriver Logging并构建一个过滤器,如下所示以获取超时的请求:

resource.type="cloud_function"
resource.labels.function_name="[YOUR_FUNCTION_NAME_HERE]"
"finished with status: 'timeout'"
time.sleep(535)
print('do something')

好奇等待的目的是什么?当然有更好的方法来处理这个问题,因为你为接收请求和发送响应之间的时间长度付费。

你也可以计算它运行了多长时间来允许它做这样的工作:

start_time = time.time()
print('do_work')
while time.time() - start_time > 535:
time.sleep(1) 

相关内容

  • 没有找到相关文章

最新更新