【发布时间】:2020-01-06 01:04:30
【问题描述】:
我有一个 Lambda 函数,其配置位于外部源(例如 S3)中。
为了节省一些计算时间,函数在第一次执行时加载并保存在内存中。
我希望能够告诉该 Lambda 函数的所有正在运行的实例按需重新加载配置。
在下面的 sn-p 中,当事件具有“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
}
}
【问题讨论】:
标签: amazon-web-services events aws-lambda broadcast