阿里云-函数计算,Process exited unexpectedly before completing request,错误解决

项目部署到阿里云“函数计算”,经过测试使用,发现偶尔返回类似以下错误:

 {"errorMessage":"Process exited unexpectedly before completing request (duration: 0ms, maxMemoryUsage: 40.42MB)"} 

项目在“函数计算”的部署环境使用的是“Custom Container”,运行着我自行构建的Docker镜像,

该镜像在我自己的服务器部署都一直运行正常,所以一时找不到引起该异常的原因。

我在网上搜索,发现也有网友提问,但都没有看到解决答案,所以记录一下,有需要朋友可参考!

 

我查看阿里的文档(https://help.aliyun.com/document_detail/179368.html?spm=a2c4g.11174283.6.607.20685212QJ9sNJ),
发现有以下说明:

HTTP Server配置要求

  • 监听在任何IP(0.0.0.0)的指定端口(端口可以读取环境变量FC_SERVER_PORT,默认为9000)。
  • HTTP Server需配置connection keep-alive
  • 请求超时时间设置为15分钟以上。
  • HTTP Server需要在25秒内启动完毕。

经过对比调整与测试,发现果然是这相关参数没有配置好,我配置好以后,到目前使用都正常,未发现错误!

我的主要环境有Node和PHP,下面分别说明修改的地方:

1、Node环境(ExpressJS)

我使用的是expressjs框架,所以修改的是 /bin/www文件,修改如下:

server.listen(port);
server.timeout = 15*60*1000; //0表示永不超时
server.keepAliveTimeout = 15*60*1000; //0表示永不超时

2、PHP环境(Apache2+PHP7)

在 apache2.conf 文件内,配置以下项:

Timeout 900
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 900

在php.ini文件内,配置以下项:

max_execution_time = 900

 

以上是我情况的解决方法,如果你有类似"Process exited unexpectedly before completing request "的异常可参考;
引起这异常,还有可能是函数本身逻辑有问题,导致执行环境退出,或者调用函数的 client 端主动 cancel 导致等。

(完)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值