如何延长Vercel上Flask Python无服务器函数的超时时间?
解决Vercel上Flask无服务器函数的FUNCTION_INVOCATION_TIMEOUT错误
1. 明确Vercel函数的超时限制
- Hobby(免费)计划:默认超时10秒,最大可设为60秒
- Pro/Team(付费)计划:最长可设置为900秒(15分钟)
配置时不能超出对应计划的上限,否则设置无效。
2. 创建/修改vercel.json配置超时
在项目根目录创建或编辑vercel.json文件,添加函数超时配置:
{ "functions": { "api/**/*.py": { "maxDuration": 30 } } }
- 路径匹配规则:
api/**/*.py会匹配所有api目录下的Python函数文件。如果你的Flask入口文件App.py直接在根目录,可将路径改为App.py;如果放在api目录下,也可以写具体路径api/App.py。 maxDuration:填入你需要的超时秒数,比如示例中的30代表30秒。
3. Flask部署的路径注意事项
Vercel的Python无服务器函数通常要求入口文件放在api目录下(比如api/App.py),这样Vercel会自动识别为函数。如果你的App.py在根目录,需要确保vercel.json的路径匹配正确,或者调整文件位置到api目录。
4. 排查配置无效的情况
如果配置后仍出现超时错误,检查以下几点:
- 是否超出了当前Vercel计划的最大超时限制
vercel.json是否放在项目根目录,路径匹配规则是否和你的文件位置一致- 函数代码本身是否存在性能瓶颈(比如慢数据库查询、耗时过长的外部API调用),优先优化代码效率比单纯延长超时更可靠
内容的提问来源于stack exchange,提问作者Seismic
相关产品推荐
相关产品推荐

