如果我有一个Google Cloud函数,并且我在部署它的时候设置了最大超时时间(比如说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")发布于 2021-03-04 00:16:25
如果您想要跟踪超时的请求以进行进一步的调查,您可以在Stackdriver Logging中过滤云函数的超时请求。
请注意,在Stackdriver中,超时不会报告为错误,但是您可以在超时日志条目中设置一个过滤器。在Google Cloud Platform控制台中,转到Stackdriver日志记录并构建一个过滤器,如下所示,以获取超时的请求:
resource.type="cloud_function"
resource.labels.function_name="[YOUR_FUNCTION_NAME_HERE]"
"finished with status: 'timeout'"发布于 2021-02-25 19:37:25
time.sleep(535)
print('do something')想知道等待的目的是什么吗?当然,还有更好的方法来处理这一问题,因为您需要为接收请求和发送响应之间的时间长度付费。
您还可以计算它已经运行了多长时间,以允许它像这样工作:
start_time = time.time()
print('do_work')
while time.time() - start_time > 535:
time.sleep(1) https://stackoverflow.com/questions/66367594
复制相似问题