为什么要在设置超时(Javascript)上使用步长函数(AWS)作为调度程序功能
我正在尝试创建一个API服务,任何客户机都可以将其HTTP请求和时间(以秒为单位)传递给我,在这之后他希望执行HTTP请求。 我可以想到两种方法来实现这一目标:为什么要在设置超时(Javascript)上使用步长函数(AWS)作为调度程序功能,javascript,amazon-web-services,aws-lambda,aws-step-functions,Javascript,Amazon Web Services,Aws Lambda,Aws Step Functions,我正在尝试创建一个API服务,任何客户机都可以将其HTTP请求和时间(以秒为单位)传递给我,在这之后他希望执行HTTP请求。 我可以想到两种方法来实现这一目标: 使用nodeJS创建lambda并使用setTimeout等待 创建一个步骤 函数等待x秒数将调用我的lambda 执行HTTP请求 我想了解的是每种方法的优缺点。setTimeout看起来很容易实现,并且没有明显的缺陷。有什么理由我应该使用step函数吗?在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新 Lambd
我想了解的是每种方法的优缺点。setTimeout看起来很容易实现,并且没有明显的缺陷。有什么理由我应该使用step函数吗?在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新
在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新
我对aws step函数没有任何了解,所以对此我不能说什么。 但是,如果您想创建一个稳定的、可维护的API,那么在NodeJ中使用
setTimeout
可能会有很大的延迟,这可能是一个真正的问题,原因如下:
- 如果您希望为应用程序推出任何更新,则需要终止等待的请求,或者需要使应用程序保持在线,直到最后一个请求完成,然后才能关闭旧代码
- 如果应用程序崩溃,则当前等待的所有请求都将丢失
- 如果系统节点正在运行,则需要重新启动以安装关键的安全更新,那么所有挂起的请求都将丢失
因此,
setTimeout
不应用于此类拍摄。如果您想在node中执行此操作,则需要将这些请求存储/镜像到持久性存储中。我对aws step函数一无所知,因此对此我不能做任何说明。
但是,如果您想创建一个稳定的、可维护的API,那么在NodeJ中使用setTimeout
可能会有很大的延迟,这可能是一个真正的问题,原因如下:
- 如果您希望为应用程序推出任何更新,则需要终止等待的请求,或者需要使应用程序保持在线,直到最后一个请求完成,然后才能关闭旧代码
- 如果应用程序崩溃,则当前等待的所有请求都将丢失
- 如果系统节点正在运行,则需要重新启动以安装关键的安全更新,那么所有挂起的请求都将丢失
因此,
setTimeout
不应用于此类拍摄。如果要在节点中执行此操作,则需要将这些请求存储/镜像到持久存储中。秒数可以有多大?这个数字可能非常大。到目前为止,我们还没有考虑过设置任何限制。秒数可以有多大?这个数字真的可以很大。到目前为止,我们还没有考虑设置任何限制