问题标签 [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 回答
2596 浏览

ruby-on-rails - Sucker_punch 工人可以在 heroku 上运行多长时间?

我有正在处理 csv 文件的 Sucker_punch 工作人员,我最初遇到了当 dyno 断电时 csv 文件消失的问题,以解决我要设置 s3 用于文件存储的问题。

但我目前担心的是,dyno 断电是否会阻止我的工人继续前进。

我怎样才能防止这种情况?

0 投票
1 回答
507 浏览

rspec - 使用 RSpec 测试 SuckerPunch::Job

我已经定义了以下 SuckerPunch 工作:

我想使用 RSpec 对其进行测试:

这在没有include SuckerPunch::Job. 可能是因为主题指的是一个实例ActorProxy而不是MyWorker

我应该如何测试MyWorker?或者我应该如何访问 的实例MyWorker?我已经阅读了赛璐珞维基中描述的陷阱#wrapped_object,但该方法不存在(不再存在)。

0 投票
1 回答
855 浏览

ruby-on-rails - 确保只有一项工作在轨道 SuckerPunch/赛璐珞上运行

我有一个简单的 SuckerPunch 工作,我正在努力让它在任何给定时间只运行一个工作。努力解决它尝试使用赛璐珞和 Ruby 并发

我有的

0 投票
1 回答
749 浏览

ruby-on-rails - Sucker Punch Job 被乘客杀死?还是死锁?

想知道有没有人看到这个问题。我正在使用 Sucker_punch gem 版本 1.1 在乘客 3 上运行 Rails 3.2

我有一个长期运行的 Sucker_punch 工作(大约需要 10 个小时),这是一个通宵的批次。我在 Phusion Passenger 上运行(我认为是 3 个工作线程)

我的 Sucker_punch 作业是异步执行的,作为它执行其他异步较小的 Sucker_punch 作业的作业的一部分(每个大约需要 30 秒)

我无法准确确定发生了什么,但“有时”我长期运行的工作会死掉或似乎停止。我确实在整个 Sucker_punch 工作中添加了一些调试代码

但是没有看到异常,所以假设我长时间运行的 Sucker_punch 正在停止而不是被杀死?或者潜在的某种僵局?

这其中有趣的部分。有时我的长期工作运行良好,有时却不行。

0 投票
1 回答
463 浏览

ruby - 通过ice_cube快速解释愤怒之拳/吸盘拳的重复规则

这可能不是最聪明的问题……对此感觉特别密集。我正在使用一个非常漂亮的宝石,Fist of Fury,通过 Sucker Punch 执行重复的后台任务:https ://github.com/facto/fist_of_fury 。正如 gem 的作者所说,重复规则是使用 ice cube gem https://github.com/seejohnrun/ice_cube构建的。

他举了一个经常性工作的例子:

我通过上面链接的 Fist of Fury 和 Ice Cube 的文档阅读,只是想确认我的理解......

  • 愤怒的拳头需要一个冰块规则在recurs {}括号中,recurs本质上是schedule从冰块替换
  • 您可以使用 Ice Cube 中的预定义规则,例如minutely在示例中或daily(2)(每隔一天),或者您可以定义自己的规则
  • 如果你定义了自己的规则,你可以把它放在 recur 的正上方,因为 ice cube 的 gem 已经安装了 Fist of Fury,类似于(导致每个月 13 日发生一次活动):

    rule = Rule.monthly.day_of_month(13) 重复 { rule }

如果后者是正确的,我很想知道如何为一天中的特定时间编写规则。类似的东西rule = Rule.daily(2).time_of_day(3)意味着我希望活动每隔一天凌晨 3 点进行一次。

0 投票
1 回答
305 浏览

ruby-on-rails - 为什么这个测试不能用吸盘打孔宝石运行?

此代码的目的是向用户发送一封电子邮件,其中包含折扣百分比已达到给定阈值的产品数组。产品被退回:

它返回具有以下格式的 2 个元素数组的数组:

通知是由折扣百分比和 product_id 组成的对象。

检查是否在过去 7 天内向用户发送了通知并返回一个布尔值(如果他们在上周没有收到电子邮件,则为 true,如果他们收到正在传递的产品,则为 false。)

我有以下工作和伴随的测试:

测试:

当我取出这条线时:包括 SuckerPunch::Job 测试通过了,但我无法让它通过那条线。出于某种原因,包含 SuckerPunch::Job 行似乎对象创建方法不起作用并为所有值返回 nil。如果我没有提供足够的细节,但我不想发布太多代码,我提前道歉。发表评论,我将包括所要求的任何细节。谢谢你的时间,我真的很感激!

0 投票
1 回答
870 浏览

ruby-on-rails - 来自 Rails 中延迟作业的闪存错误

在我的 Rails 应用程序中,我正在使用 Sucker Punch gem 运行延迟作业。我正在循环使用 Twilio 向每个电话号码发送一条短信。

如果 Twilio 发送它时出错,我可以通过救援来捕获它,但是有没有办法通知用户而不只是引发显示错误页面的异常?

理想情况下,它会在它发生时作为一条消息(或其他通知)。有没有办法做到这一点?

0 投票
1 回答
490 浏览

ruby-on-rails-4 - 吸盘打孔运行后台作业 ActiveRecord 错误 - Rails 应用程序

我正在尝试运行后台邮件程序,并根据文章的参数,将不同的用户转储到邮件列表中。应要求撰写新文章,我收到此错误:

这是逻辑:

0 投票
2 回答
2363 浏览

ruby - Rails 异步作业如何让控制器知道它已完成?

我正在使用最新版本的 rails 和 ruby​​。通过一个表单,我导入了一个 CSV,然后触发了一个异步作业(我为此使用了 gem https://github.com/brandonhilkert/sucker_punch)来读取文件并处理数据。

总而言之,一切正常,但是:

我的问题是,我如何让控制器知道后台工作何时完成?我想通过快速通知重定向,但显然我不应该从模型中这样做......我可以在这里做什么?

这是我的sucker_punch 工作:

这是我的控制器操作:

0 投票
1 回答
53 浏览

ruby-on-rails - 未定义的路线错误(Rails)

我看到以下错误:

但是,我觉得call_alert_path在路线中定义得当。我的测试通过了这一事实证实了这一点。测试模式和生产之间的主要区别在于,在生产中,调用的方法call_alert_path是在异步作业中。也许这就是把它扔掉......无论如何,我只是想与社区确认,call_alert_path否则它是正确定义的,并且编写的代码没有任何问题。

控制器代码:

异步作业代码:

路线: