【发布时间】:2016-07-22 22:15:17
【问题描述】:
我使用 lambda 函数基本上每 5 分钟对设备 API 进行一次长时间轮询以收集数据。我还希望能够实时触发数据获取以进行测试。我可以在 API 调用中设置最后一个日期时间......类似于GET /data/?fromDate=$date
我希望能够以某种方式跟踪上次请求的时间,因此每次运行 lambda 函数时,我都会获取自上次请求以来收集的所有数据,无论它是在预定运行中完成的或手动完成。
通常我可以简单地为此使用一个变量:
// set initial date
let lastTime = moment().subtract("5 minutes").toDate();
// lambda function handler
export default async () => {
const data = await gatherData();
lastTime = new Date;
return storeData(data);
}
但是,在 lambda 中,每次运行都可能是一个新进程,因此无法保证 lastTime 会保留在内存中。
我有什么方法可以跟踪 lambda 函数中的全局状态,以处理一些简单的事情,比如原语?
【问题讨论】:
标签: javascript aws-lambda