问题标签 [sucker-punch]

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.

0 投票
1 回答
277 浏览

ruby-on-rails - Rails ActiveJob 后台作业不断 Ping Mailchimp

我有一个正在开发的 Rails 应用程序 (v4.2),当用户注册该站点时,我想将它们注册到我的 Mailchimp 邮件列表。我已经使用 Sucker_punch 和 gibbon gem 将此过程作为后台作业实现。在此处阅读更多信息(Rails Mailchimp 后台作业未实现错误

我已经使用 user.rb 文件中的 after_commit 调用让它工作了。

我现在遇到的唯一问题是 ActiveJob 似乎会一遍又一遍地成功执行此方法,直到 Mailchimp 以 400 错误响应电子邮件已添加。

我怎样才能让 ActiveJob 或这种方法只点击 Mailchimp API 一次?

这是我的背景工作:

我的 user.rb 文件:

0 投票
2 回答
797 浏览

ruby - 等待 SuckerPunch::Job 任务完成

我尝试使用Sucker Punch gem 来并行处理任务。但我没有找到如何等待其终止的文档。

似乎,SuckerPunch::Queue.shutdown_all()在所有任务完成之前返回。

我怎样才能等到所有任务完成?

0 投票
0 回答
326 浏览

ruby-on-rails - Rails Sucker Punch - 有没有办法通过重试执行的操作来处理错误

在我的应用程序中,我正在使用傻瓜拳击 gem异步发送电子邮件。

有时邮件服务器非常无响应,我会遇到Net::ReadTimeout异常。

我想知道是否有比做这样的事情更好的方法来处理错误

在我的代码中,我将吸盘打孔与主动工作相结合,所以基本上我只是在打电话

这需要一些重构。这根本不是问题。我只是想包括这一点信息。

0 投票
1 回答
388 浏览

ruby-on-rails - 发送延迟电子邮件时如何将语言环境传递给 ActiveJob / SuckerPunch?

在我的 Rails 5 应用程序中,我尝试使用ActiveJobSucker Punch发送电子邮件:





除了电子邮件始终以默认语言环境而不是传递给activate操作的语言环境发送之外,一切正常。

整个应用程序中的所有电子邮件始终在正确的语言环境中发送,因此必须向下发送到ActiveJobSuckerPunch

如果你能帮忙,请告诉我。谢谢。

0 投票
0 回答
467 浏览

ruby-on-rails - Net::OpenTimeout 执行在 Action Mailer Ruby on Rails 5 中过期

从 ActionMailer 发送电子邮件时出现以下错误

错误 -- : [ActiveJob] [ActionMailer::DeliveryJob] [a532d442-ad8a-44a9-b13d-a2a3ec9c5bd9] 在 SuckerPunch(mailers) 中执行 ActionMailer::DeliveryJob (Job ID: a532d442-ad8a-44a9-b13d-a2a3ec9c5bd9) 时出错30009.94ms: Net::OpenTimeout (执行过期):

这个错误有时会出现,有时它会起作用。我的 application.rb 中有以下代码

在我的傻逼punch.rb下面

我正在使用Rails 5.1.4sendgrid发送电子邮件。

0 投票
0 回答
224 浏览

mysql - 连接超时错误

我的应用程序日志出现以下错误

我的应用程序需要创建太多后台工作人员。我正在使用sucker-punch gem后台作业。我已经实现了 Rollbar 工具来监控应用程序崩溃并且它正在报告

我不确定为什么会发生这种情况,但我能感觉到我的一些后台工作不时地中断。在很多地方,我正在使用 ActiveRecord::Base.connection.execute命令进行数据库连接。

我的数据库池大小设置为100,MYSQL 统计数据为:

应用程序有什么问题吗?也只是帮助调试问题的信息它的 AWS EC2 CPU 使用率始终保持在 80% 以上的非常高的水平。我正在使用m3.medium实例。

0 投票
0 回答
14 浏览

ruby-on-rails - 使用 Suckerpunch 在后台运行进程时页面冻结

我尝试在后台启动一个执行一些代码的进程。当我开始这个过程时,我的应用程序会冻结,直到后台任务完成。我正在使用 SuckerPunch 来解决这个冻结问题,但是该应用程序仍在等待该过程结束。我有错误的期望吗?我该如何解决?

应用程序/控制器/我的控制器:

应用程序/工作/我的工作:

0 投票
0 回答
156 浏览

ruby-on-rails - 如何将 view_context 传递给 ActiveJob 后台工作人员?

我正在尝试将view_context对象传递给后台工作人员:

我了解我无法传递ActiveRecord:Relations给 ActiveJob。这就是为什么我要传递 ID。

但是当我尝试通过时,view_context我得到一个ActiveJob::SerializationError

问题是我需要view_context在我的Prawn PDF类中生成一堆 PDF。

我怎么把它弄进去?

0 投票
0 回答
43 浏览

ruby - 如何使用 Sucker_punch 删除未来的工作

我正在使用吸盘未来的工作,但有时我需要在另一个请求中将其删除,然后才能执行。

为此,我必须通过传递给工作的参数找到它,然后才能杀死它。

0 投票
1 回答
88 浏览

ruby-on-rails - 如何在生产中调试崩溃的 SuckerPunch 作业

我正在尝试使用 SuckerPunch 运行异步作业,它将一些数据发布到 REST API,并将响应写入数据库。在 Rails CLI 和它正在工作的开发环境中。在生产环境中,当 API 响应错误时,它会崩溃;当 API 以 200 或 201 响应时,它也可以正常工作。由于我在所有测试中使用相同的代码和数据,我不明白,什么差异可能导致这个问题。此外,日志没有提供足够的详细信息,我不知道如何进一步调试它。能得到你的两分钱就太好了。我将如何继续调试呢?