Плагин для прогрева без сервера одновременное выполнение функций прогрева
Я получил serverless-plugin-warmup 4.2.0-rc.1, работающий нормально с безсерверной версией 1.36.2
Но он выполняется только с одним разогревом вместо настроенных пяти.
Есть ли проблема в моем конфиге serverless.yml?
Также странно, что я должен добавить 'warmup: true' в раздел функций, чтобы прогреть функцию. Согласно документам на https://github.com/FidelLimited/serverless-plugin-warmup конфигурации в пользовательском разделе должно быть достаточно.
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 минуты. Я ожидаю увидеть 5 казней каждые 2 минуты, или я что-то здесь неправильно понимаю?
РЕДАКТИРОВАТЬ: Теперь использование параллелизма главной ветки работает, но теперь контекст, который доставляется в функцию, которая должна быть разогрета, нарушен: Использование 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
1 ответ
Добавлено свойство sourceRaw: true для конфигурации разминки, которая генерирует чистый источник в функции JS.
const functions = [{"name":"myFunctionName","config":{"enabled":true,"source":"{\"type\":\"keepLambdaWarm\"}","concurrency":3}}];
Config:
custom:
warmup:
enabled: true
concurrency: 3
prewarm: true
schedule: rate(5 minutes)
source: { "type": "keepLambdaWarm" }
sourceRaw: true
timeout: 60