首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cloud Function超时前5秒运行一些东西

在Cloud Function超时前5秒运行一些东西
EN

Stack Overflow用户
提问于 2021-02-25 19:27:20
回答 2查看 47关注 0票数 0

如果我有一个Google Cloud函数,并且我在部署它的时候设置了最大超时时间(比如说540s),那么我如何在超时之前运行一些东西呢?例如,在超时前5秒,我想运行一条自定义线路?例如:

代码语言:javascript
复制
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")
EN

回答 2

Stack Overflow用户

发布于 2021-03-04 00:16:25

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

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

代码语言:javascript
复制
resource.type="cloud_function"
resource.labels.function_name="[YOUR_FUNCTION_NAME_HERE]"
"finished with status: 'timeout'"
票数 1
EN

Stack Overflow用户

发布于 2021-02-25 19:37:25

代码语言:javascript
复制
time.sleep(535)
print('do something')

想知道等待的目的是什么吗?当然,还有更好的方法来处理这一问题,因为您需要为接收请求和发送响应之间的时间长度付费。

您还可以计算它已经运行了多长时间,以允许它像这样工作:

代码语言:javascript
复制
start_time = time.time()
print('do_work')

while time.time() - start_time > 535:
  time.sleep(1) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66367594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档