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

问题描述:在一个post请求中,服务主进程开启新的进程执行一条shell命令,shell命令相对耗时

问题描述:在一个post请求中,服务主进程开启新的进程执行一条shell命令,shell命令相对耗时(比如20秒才执行完毕)。主进程同步等待shell命令执行结果,发shell命令成功执行完成后,函数计算平台就打印错误日志:

FC Invoke End RequestId: 1-64cb4f10-7e8941c3a1e024bcaab52da7, Error: Process exited unexpectedly before completing request (duration: 6920ms, maxMemoryUsage: 1826.91MB)

其实此时服务主进程还没有退出,通过日志观察看到服务主进程会继续执行后续代码逻辑。

其他信息:部署方式:docker自定义镜像 、 服务语言:python3、函数调用方式:异步调用

展开
收起
云上静思 2023-08-03 18:39:39 56 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    这个错误是函数计算平台的timeout导致的。所以建议的解决方案是:

    通过日志分析确定函数需要的最长执行时间
    根据1,设置一个稍大于需要时间的 Timeout 配置
    部署更新函数并测试

    2023-08-03 19:41:51
    赞同 展开评论 打赏
  • 可以写个hello world 然后同步异步都跑一下。这种一般都是没有正常响应http请求导致的

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-08-03 18:54:29
    赞同 展开评论 打赏

快速交付实现商业价值。

相关电子书

更多
服务上云加速大家居产业C2M进程 立即下载
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载