开发者社区 > 云原生 > Serverless > 正文

函数计算实例接收到请求后立刻响应了结果,同时去执行异步任务。如何确保实例在异步任务处理完成前不被销毁

iwEcAqNwbmcDAQTRAtAF0QE6BrDiHJ0RJ0RMUQZgEtuph-IAB9JmzyHaCAAJomltCgAL0gABqZ8.png_720x720q90.jpg
函数计算实例接收到请求后立刻响应了结果,同时去执行异步任务。如何确保实例在异步任务处理完成前不被销毁?

展开
收起
想去床上睡觉 2024-06-27 10:44:57 45 0
1 条回答
写回答
取消 提交回答
  • 函数计算是按照请求计费的,如果请求响应了,实例就会被冻结。子线程中的代码也就无法执行了。您有如下三种解决方法:
    1、您可以将需要进行异步处理的逻辑,单独作为一个函数,然后使用函数的异步调用功能,在原函数中使用 FC 的 SDK,通过异步调用的方式调用新函数,从而达到异步执行的效果。例如:您的需求是同步请求完成用户注册,然后异步给用户发送确认邮件。那么您需要改造您的函数,将发送邮件的逻辑放到一个新的函数里,然后在原有函数完成用户注册之后,在代码中使用 FC SDK 异步调用这个发送邮件的新函数。
    2、您可以在子线程中完成请求响应,从而避免函数被冻结。
    3、使用预留实例,并关闭预留实例的闲置计费功能。这样实例就不会被冻结了,不过费用较高.-此回答整理自钉群“阿里函数计算官网客户”

    2024-06-27 11:58:01
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载