问题标签 [shoryuken]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 使用 Shoryuken (ruby) 中的 Amazon SQS 自定义重试延迟
我正在将使用sidekiq制作的后台作业处理服务迁移到基于Amazon SQS的shoryuken。使用sidekiq,您可以使用以下方法自定义重试模式:sidekiq_retry_in
在我的例子中,retry_count
返回基于外部配置的下一次重试的延迟。使用shoryuken时,只要消息未被消费者应用程序删除,SQS 就会自动处理重试。但是使用shoryuken,您可以通过使用更改延迟,retry_intervals
但文档仅说明如何设置固定值:
我需要使用与sidekiq相同的方式自定义重试延迟,使用retry_count
根据外部数据返回不同值的方法。这是可能的还是存在使用shoryuken做到这一点的解决方法?
ruby-on-rails - 无法在从 SQS 读取的生产环境中运行 rails shoryuken gem
shoryuken gem 是从 aws SQS 读取的 Rails 应用程序的后台工作程序。
我可以在当地运行 shoryuken 工人,它工作正常。当我在 AWS 的生产环境中运行它时,它不起作用。如何在生产环境中运行 shoryuken?我还认为这可能是我的 aws 安全组的问题。我们正在使用 VPC。我应该允许 SQS 端口吗?如果是这样,SQS 运行在哪个端口?我也想知道为什么它询问端口 5432,这是我们 Postgres DB 的端口。
ruby-on-rails - 在 Rails 项目中设置 Shoryuken、Active Job 和 Amazon SQS
作为 AWS 的新手,根据设置文档让 Shoryuken gem(带有 Active Job 和 Active Record)工作有点曲折。
中间件:我不确定中间件是否是设置的必要部分,因为它只在基本示例中产生。如果您需要在从队列中获取消息之前或之后执行操作,我的理解是否正确。
Shoryuken 插入但不从 SQS 获取消息:此时,Shoryuken 正在将消息传递到 SQS 队列,我可以在 AWS 控制台中看到消息(在可见的消息中)但 Shoryuken 没有获取它们以执行,即使没有任何内容队列。
安慰
升龙拳.yml
我如何才能弄清楚为什么 Shoryuken 没有检索到这些消息并对其采取行动?
(我已将此问题发布到 GitHub,但在没有收到回复后重新发布在这里)。
ruby-on-rails - 使用 shoryuken 进行后台作业时如何确定并发(线程)?
在我的 Ruby on Rails 应用程序中,我使用shoryouken进行后台处理。我的应用程序中有很多 sqs 队列(6-7)。其中一个队列有 2000-3000 个作业,worker 处理这 2-3k 个作业大约需要 3 个小时,默认并发为 25。所以我们可以根据哪些因素决定增加并发数(即线程来处理作业)。如果问题中有任何不清楚的地方,请发表评论。
ruby-on-rails - 环境特定的 shoryuken 配置
我通过运行使用shoryuken gem
和 shoryuken.yml 是
这工作正常。但是,我想使用环境特定的队列,例如production_high
在生产中使用。我确保这些队列存在于
config/initializers/aws.rb
使用
ruby-on-rails - `validate_queues' 的 shoryuken 错误:指定的队列
我正在使用rails“Shoryuken”gem,但是当我启动rails服务器时,我的开发环境中的队列验证出现错误,下面是错误:-
gems/shoryuken-2.0.11/lib/shoryuken/environment_loader.rb:172:in `validate_queues': 指定的队列 ["development_worker"] 不存在 (ArgumentError)
我使用了以下设置:-
配置/shoryuken.yml
初始化程序/shoryuken.rb
我希望队列应该是特定于环境的。
ruby-on-rails - 处理作业轨道时出现反序列化错误
我正在尝试使用 AWS 工作人员为邮件创建后台作业,通过覆盖设计方法
我将邮件推送到 SQS 队列,当工作人员处理作业时(ActiveJob::Base.execute(params)
我收到以下错误
ruby-on-rails - 使用 shoryuken 手动重试 sqs 失败的作业
我目前正在构建一个管理仪表板来监控我们的 SQS 队列,受到这篇中型帖子的启发。
我设法在我的自定义 shoryuken middelware 中使用此代码正常工作:
因此,我在管理仪表板中显示了所有失败的作业,以及有关错误的详细信息。那是第一步。现在我希望能够手动重试那些工作(开始时一个)。我已经在网上搜索了很长时间,但没有找到任何可以做的事情(使用 shoryuken 或直接使用 sqs sdk)。
有没有人知道手动重试失败的消息?我们已经介绍了死信队列,但我们不希望使用它们。
非常感谢任何提示或起点:)
amazon-sqs - 通过 SQS 向设备发送消息
我还在学习 SQS,我用 SQS 和一个用 Shoryuken 接收消息的 Ruby 应用程序做了一些成功的测试。这工作正常。我们希望在人们家中安装 1000 台物联网设备。这些设备将向后端发送事件,这些事件将被拾取。到现在为止还挺好。
现在我们还需要将消息发送回设备(不那么频繁,但仍然如此)。我也可以为此使用 SQS 吗?如何定位设备?
我是否需要添加 MessageAttribute 来标识目的地?或者为每个设备创建一个队列?
这里有哪些最佳实践?
ruby-on-rails - 请求中包含的安全令牌无效。Aws::SQS::Errors::InvalidClientTokenId
当我尝试启动 shoryuken 时出现此错误
请求中包含的安全令牌无效。(Aws::SQS::Errors::InvalidClientTokenId)。即使这对我以前有用。
消息添加到队列但 Worker 无法访问队列。