Gui*_*dam 1 events broadcast amazon-web-services aws-lambda
我有一个 Lambda 函数,其配置位于外部源(例如 S3)中。
为了节省一些计算时间,该函数在第一次执行时加载配置并将其保存在内存中。
我希望能够告诉此 Lambda 函数的所有正在运行的实例按需重新加载配置。
在下面的代码片段中,当事件具有“reload”属性时,Lambda 函数会重新加载配置。但显然只有一个正在运行的实例获得该事件。
// Function to process events
var processEvent = function(event,callback) {
// process event
}
// Function to update configuration
var config; // global object representing configuration
var updateConfiguration = function(callback) {
// ... load asynchronously from S3
}
// Handle events
exports.handler = function(event, context, callback) {
if (event.reload) {
updateConfiguration(callback); // load configuration
} else if (!config) {
updateConfiguration(function() { // load configuration
processEvent(event,callback); // ... then process event
});
} else {
processEvent(event,callback); // process event directly
}
}
Run Code Online (Sandbox Code Playgroud)
无法将消息发送到 AWS Lambda 容器。当它们不运行时,它们实际上被“冻结”,不会发生任何计算。
最接近的选择是让处理程序在调用函数时检查某个地方(参数存储?),以查看是否应该重新加载。
| 归档时间: |
|
| 查看次数: |
582 次 |
| 最近记录: |