jjzjj

ruby-on-rails - 如何在 resque-retry 和 Rails 4 中测试重试和失败?

我正在尝试编写一个规范来测试resque-retry的重试功能,但我似乎无法让测试正确命中binding.pry。有没有一种方法可以使用rspec3测试此功能,以便我可以验证它们是否按预期运行?这是一个请求规范,我正在尝试通过固定装置模拟实时请求,但无论我尝试什么,我似乎都无法让作业重试。gem'resque',require:'resque/server'gem'resque-web',require:'resque_web'gem'resque-scheduler'gem'resque-retry'gem'resque-lock-timeout'我正在使用resque_rspec,

ruby-on-rails - Rails Resque 工作人员因 PGError : server closed the connection unexpectedly 失败

我在Ubuntu9.10、Rails2.3.4、ruby-ee2010.01、PostgreSQL8.4.2上有站点运行rails应用程序和在生产模式下运行的resqueworkerWorkers不断报错:PGError:serverclosedtheconnectionunexpectedly.我最好的猜测是masterresque进程建立了与db的连接(例如,authlogic在使用User.acts_as_authentic时会这样做),同时加载Rails应用程序类,并且该连接在fork()ed进程(退出时?)中被破坏,所以下一个fork的child会得到一种splinter的全

ruby - Resque vs Sidekiq?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我目前正在为我的后台进程使用Resque,但最近我听到很多关于sidekiq的提示。有人可以比较/区分吗?特别是我想知道是否有一种方法可以通过编程方式监控作业是否在sidekiq中完成

windows - 在 Windows 上设置 Resque gem 时,resque-web 命令导致错误

我刚刚看了这个关于Resque的惊人的railscast.在我启动redis服务器并启动workers之后:rakeenvironmentresque:workQUEUE="*"我想加载resque网络界面。跑完后resque-web-p8282出现这个错误:C:\Users\makaroni4\free_frog\ffapi>resque-web-p8282[2011-06-2119:04:13+0400]RunningwithWindowsSettings[2011-06-2119:04:13+0400]Starting'resque-web'...[2011-06-2119:04

php - 如何手动修剪和重启 php-resque worker

php-Resque的工作人员经常会被困在一个工作上好几天,最终所有的工作人员都被困住,站点停止工作。php-resque库是使用Composer安装的。问题:我想手动进行修剪。如何访问此功能pruneDeadWorkers()?如果发现死worker,我该如何重新启动他们?ViewSource 最佳答案 要手动修剪worker,请包含vendor/chrisboulton/php-resque/lib/Resque/Worker.php文件,实例化一个Worker,然后调用pruneDeadWorkers();pruneDeadW

php - 带有 Job Queue 系统的 PHP/Laravel 中的逻辑代码

我正在使用Laravel3制作一个网络抓取工具,并且有一个队列系统resque。问题:抓取逻辑代码应该放在哪里?在worker/job类中?在由工作/作业类静态调用的库类中?在Controller函数中并让worker/job类触发Controller函数?我目前在Controller功能中有它,所以我可以通过转到它的url来测试它。这也允许使用Cron的重复作业,因为resque不允许重复作业。我仍然需要保留这种测试抓取功能的简单方法。尝试:这就是我的想法,您将如何为此目的组织您的代码?worker类(Class)classScraperWorker{publicfunctionpe

ios - 推送通知在杂货店不起作用

我将通过Rails后端向iOS设备发送通知。我已将grocergem添加到Gemfile,然后将其安装到项目中。gem'grocer'我计划在后台模式下发送通知。所以我创建了resque作业,并像这样在app/jobs/notificationsender.rb中添加了grocer逻辑。defself.perform(language)@lang=language#Thread.newdowhiletruebeginpusher=Grocer.pusher(certificate:"#{Rails.root}/lib/notification/cer.pem",#requiredpas

php - 在 PHP 中使用分布式处理系统处理 FOREGROUND 请求

我熟悉php-resque和其他用于处理后台作业的作业处理系统,但我认为它无法满足我的需要。在这种情况下,我有一个传入的Web服务请求,需要对外部系统执行多个(2-4)独立标注,并返回对客户端的综合响应。每个标注可能需要300-500毫秒,因此我希望每个标注并行执行,以便整个过程总共不超过500毫秒+/-。我对php-resque和其他系统的问题是,即使等待1秒才能开始发出这些标注也太长了,我正在考虑另一种方法。我在想什么:每个单独的标注都被描述并存储在具有给定的唯一请求ID的数据库中我们以异步php进程(又名“工作进程”)的形式立即启Action业每个worker将其结果写回作业记录

ruby-on-rails - 在单独的服务器上设置 resque/redis

我正在将我的redis和resque工作人员拆分到一台新机器上。以前它们都在一台机器上运行-成功。我使用cap进行部署,在成功部署后,当我尝试排队重新请求作业时,我在rails日志中得到了这个:==>shared/log/production.log"24803","degrees"=>"180"}D,[2016-05-28T05:43:04.183430#5769]DEBUG--:PhotoLoad(1.4ms)SELECT`photos`.*FROM`photos`WHERE`photos`.`id`=24803LIMIT1I,[2016-05-28T05:43:04.250844

ruby-on-rails - 在 rails 中使用 resque 调度程序时如何检查作业的状态?

我有一些作业在后台运行以在某些预先提到的时间段执行。我正在使用resque-schedulergem对Redis服务器上的作业进行排队。虽然我有他们的工作ID,但我想知道该特定工作的状态。是否有任何特定的命令或代码可以帮助我找到此类作业的状态。 最佳答案 您可以使用resque-status扩展来实现这一点。这由resque-scheduler支持.您可以找到更多相关答案here. 关于ruby-on-rails-在rails中使用resque调度程序时如何检查作业的状态?,我们在Sta