我在无服务器版本1.36.2上正常运行了serverless-plugin-warmup 4.2.0-rc.1
但是它只执行一个预热调用,而不是配置的五个预热调用。
serverless.yml配置是否有问题?
奇怪的是,我必须在功能部分添加'warmup:true'来使功能热身。根据{{3}}上的文档,“自定义”部分的配置应该足够。
plugins:
- serverless-prune-plugin
- serverless-plugin-warmup
custom:
warmup:
enabled: true
concurrency: 5
prewarm: true
schedule: rate(2 minutes)
source: { "type": "keepLambdaWarm" }
timeout: 60
functions:
myFunction:
name: ${self:service}-${opt:stage}-${opt:version}
handler: myHandler
environment:
FUNCTION_NAME: myFunction
warmup: true
在AWS Cloud Watch中,我每2分钟只能看到一次执行。我希望每2分钟看到5次处决,还是我在这里误解了什么?
编辑: 现在使用master分支并发可以工作,但是现在传递给应该预热的函数的上下文已损坏:using Spring Cloud Functions =>“将客户端上下文解析为JSON时出错”
查看生成的预热函数的JS,交付的源看起来不正常=>
const functions = [{"name":"myFunction","config":{"enabled":true,"source":"\"\\\"{\\\\\\\"source\\\\\\\":\\\\\\\"serverless-plugin-warmup\\\\\\\"}\\\"\"","concurrency":3}}];
配置为:
custom:
warmup:
enabled: true
concurrency: 3
prewarm: true
schedule: rate(5 minutes)
timeout: 60
答案 0 :(得分:0)
添加的属性sourceRaw:对warmup config正确,它将在Function JS中生成一个干净的源。
const functions = [{"name":"myFunctionName","config":{"enabled":true,"source":"{\"type\":\"keepLambdaWarm\"}","concurrency":3}}];
配置:
custom:
warmup:
enabled: true
concurrency: 3
prewarm: true
schedule: rate(5 minutes)
source: { "type": "keepLambdaWarm" }
sourceRaw: true
timeout: 60