我们注意到,在将 AWS lambda 设置为从 SQS 触发时,很多时候触发器会延迟几分钟,有时甚至长达一个小时的延迟才能触发。我知道 AWS lambda 在内部进行轮询,当队列为空时,它可能会执行一些指数退避。
然而,我们有一个调度程序,它每30分钟运行一次,并将数据推送到队列中。然而,对于%的消息,lambda的触发要晚得多。我们的业务要求在一分钟内触发。
有没有办法强制lambda一致地检查队列?另一种选择是使用阶跃函数,但这是不可能的,因为在这个线程的另一个答案-
我还在考虑将数据推送到s3,并让lambda从s3异步触发,而不是被轮询,但是当我们想要推送大量记录时,s3没有批处理api,所以这是不可能的。
我会检查以确保 SQS 是长拉或短拉。
“在几乎所有情况下,Amazon SQS 长轮询都比短轮询更可取。长轮询请求允许队列使用者在消息到达队列后立即接收消息,同时减少返回的空 ReceiveMessageResponse 实例数。
在大多数使用案例中,Amazon SQS 长轮询能够以更低的成本实现更高的性能。但是,如果您的应用程序需要来自 ReceiveMessage 调用的即时响应,则如果不对应用程序进行一些修改,您可能无法利用长轮询。
例如,如果应用程序使用单个线程轮询多个队列,则从短轮询切换到长轮询可能不起作用,因为单个线程将等待任何空队列上的长轮询超时,从而延迟任何可能包含消息的队列的处理。
在这样的应用程序中,使用一个线程只处理一个队列是一个很好的做法,这允许应用程序利用AmazonSQS长轮询提供的好处。"
另外,如果你想启动你的lambda函数,你能为你的SQS设置一个SNS通知系统吗?类似于SQS SNS Lambda的东西。这应该会让你得到亚分钟,你不会一直拉长消息队列。你只需要在SNS上做这件事。
https://aws.amazon.com/sqs/faqs/
原来是用AWS SDK的时候用错了async/await。他们只支持。promise()。这就是为什么不是所有的消息都在sqs中结束的原因。
希望它能帮助其他人。AWS正在开发一个支持异步/等待的新sdk。以下是他们的链接https://github.com/aws/aws-sdk-js-v3/issues/153#issuecomment-457769969
我正在使用一个父pom在多个项目中共享依赖项和插件。父pom部署到我们的nexus存储库中。在子项目中,父pom如下所示: 当父pom得到更新时,希望保持相同的版本,以便子项目自动获得更新的依赖项而无需更新。但是,即使使用,父pom似乎也没有更新 如何强制maven(Maven3)始终从远程repo下载父pom,即使它已经在本地存储库中?
我想用Java强制转换一个值。例如,将布尔值转换为泛型。我之前检查过类型,所以我知道我在做什么。但是编译器不想让我把它转换成。我怎样才能强制施法?
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 是否有一个静态分析工具可以在IDE外部运行一致地强制使用@Override注释?CheckStyle具有MissingOverride检查,但仅适用于使用@inheritDoc Javadoc标记的方法。我正在寻找一种可以在连续
在浏览器会话结束15分钟后,如果用户关闭浏览器以将用户状态从联机变为脱机,我需要触发。
问题内容: 有时候,这种AJAX会触发,有时却不会,我来解释一下。 habit.js 仅在加载显示页面并刷新它之后才会触发,以便终端看起来像这样: 仅加载显示页面一次将无法完成工作,因为选中标记不会触发AJAX(请注意上面的所有GET和下面的GET缺少,我认为这与涡轮链接有关)。 该 显示页面 称为AJAX 这就是AJAX触发的 源代码days_missed_controller.rb 。 这是
问题内容: 这是我第一次尝试在我的应用中添加广告。我已阅读在线文档并逐字阅读。现在,我唯一不了解的部分是如何实际请求广告并将其添加到我的应用中。 到目前为止,这似乎很好。我要做的其他任何事情都将被迫关闭。例如,添加以下行: 我已将AdListener实现到Activity。 顺便说一句,当我将鼠标悬停在导入的类上时: 或其他类似的类,它表示:注意:该元素既没有附加源,也没有附加Javadoc,因此
故事是这样的,我有一个远程服务器和一个防火墙后面的客户端。客户端由netty实现,它将建立一个与远程服务器的保活连接。如果200秒内通道中没有消息传输,防火墙将重置连接到远程服务器端的连接,但客户端没有收到任何tcp数据包(例如RST包),因此客户端认为此连接是活的,而事实并非如此。那么如何在防火墙错误处理此保活连接之前强制关闭不寻常的连接呢?顺便说一句:我无法配置防火墙
问题内容: 我正在尝试使用jQuery和JSON执行一些基本操作。目前,jQuery在从我的游戏框架应用程序接受JSON响应方面遇到困难。下面是仍然会产生错误的代码的简化版本。 错误回调总是被触发。它显示 错误…未调用parsererror jQuery15001997238997904205_1298484897373 通过Firebug检查返回的JSON不会显示任何错误,并且各种JSON li