标签: resque

resque-web无法以500 Server Error启动

我正在遵循安装resque的配置指南.我遇到了一个(OpenURI :: HTTPError).我正在使用RVM 1.9.2-p180,rails 3.0.6和POW .'resque-web'无法启动500 Server Error.到底发生了什么事?

要复制问题:

  1. 用$开始redis redis-server
  2. 用一个工人开始 $ VVERBOSE=1 QUEUE=file_serve rake environment resque:work
  3. 尝试使用以下命令启动Resque-Web: RAILS_ENV=development resque-web config/initializers/resque.rb

配置/ resque.yml

development: localhost:6379
test: localhost:6379
staging: localhost:6379
fi: localhost:6379
Run Code Online (Sandbox Code Playgroud)

初始化/ resque.rb:

rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/../..'
rails_env = ENV['RAILS_ENV'] || 'development'

require 'resque'
# require 'yaml'

unless defined?($redis)
  $redis = Redis.new($redis = Redis.new(:host => 'localhost', :port => 6379))
end

Resque.redis = $redis
Run Code Online (Sandbox Code Playgroud)

终奌站:

     master ~/projects/MyApp $ RAILS_ENV=development resque-web config/initializers/resque.rb
[2011-05-20 11:42:48 -0700] …
Run Code Online (Sandbox Code Playgroud)

ruby open-uri ruby-on-rails resque

7
推荐指数
1
解决办法
2884
查看次数

使用Resque和Rspec示例进行测试?

我正在使用Resque处理我的后台作业.我的模型看起来像这样

class SomeClass
  ...
  repo = Repo.find(params[:repo_id])
  Resque.enqueue(ReopCleaner, repo.id)
  ...
end

class RepoCleaner
  @queue = :repo_cleaner

  def self.perform(repo_id)
    puts "this must get printed in console"
    repo = Repo.find(repo_id)    
    # some more action here
  end
end
Run Code Online (Sandbox Code Playgroud)

现在要同步测试我已添加

Resque.inline = Rails.env.test?
Run Code Online (Sandbox Code Playgroud)

在我的config/initializers/resque.rb文件中

这应该调用#perform方法内联而不将其排入Redis并且没有任何Resque回调作为Rails.env.test?在测试环境中返回true.

"this must get printed in console"
Run Code Online (Sandbox Code Playgroud)

在测试时从不打印.我的测试也失败了.

有没有我错过的配置.目前我正在使用

resque (1.17.1)
resque_spec (0.7.0)
resque_unit (0.4.0)
Run Code Online (Sandbox Code Playgroud)

jobs background ruby-on-rails resque

7
推荐指数
1
解决办法
7096
查看次数

如何使用resque-web监控咖啡工人

我创建了一些咖啡馆的工人,并试图使用红宝石版本的resque-web查看工人,只看到间歇性的工人闪光进出.

我注意到咖啡回收在暂停时解雇了工人.这是预期的行为吗?这使得resque web只列出了闪烁的间歇性工作者,并且当他们确实出现时,他们总是处于等待状态,即使这是他们正在处理的时候.

我做错了还是有建议的监控工作队列的方法?

另外,如果工作进程失败并且在退出时没有进行优雅的未跟踪,是否有办法在redis中清除非活动的孤立工作键?

resque

7
推荐指数
1
解决办法
395
查看次数

Heroku登录Resque工作者

我正在使用Heroku + RedisToGo + Resque.我有一个正在运行非结束任务的工人.我想要记录它的活动.heroku logs --tail没有显示有关工人活动的任何信息.我怎样才能做到这一点?谢谢!

logging heroku backgroundworker resque ruby-on-rails-3

7
推荐指数
1
解决办法
1328
查看次数

Resque工作人员无法正常启动

我使用设计,我可以发送resque邮件.我使用这个wiki: 如何:在后台发送设计电子邮件(Resque,Sidekiq和Delayed :: Job)

我有排队但没有工人的工作.我是否必须创建任务或工作人员?

ruby-on-rails resque devise

7
推荐指数
1
解决办法
9688
查看次数

如何在Heroku上运行时监视New Relic中的resque工作者?

我们有一个应用程序在Heroku上运行resque worker.我们已经安装了New Relic插件,根据文档,New Relic Agent应该自动修复resque工作人员.但是,我们在New Relic仪表板上的"后台作业"选项卡上看不到任何输出.

根据相同的文档,我们没有触摸该newrelic.yml文件.我们既不确定什么是错的,也不知道如何有效地调试它.我们需要做什么?

heroku resque newrelic

7
推荐指数
1
解决办法
3337
查看次数

如何在守护进程模式下运行rake resque:scheduler

我在rails 3应用程序中使用resque:scheduler gem.

如何rake resque:schedulerdaemon模式启动.

如果你知道那么请告诉我,

如何在GOD脚本中配置此任务?

god resque ruby-on-rails-3

7
推荐指数
2
解决办法
1950
查看次数

Rails4:为什么resque工人没有找到工作

我在我的rails 4应用程序中使用resque和resque_scheduler.我的应用程序正在为resque做一些工作,但它们并没有被工人处理.reque-web显示没有失败.

我通过跑步开始了resque工作

QUEUE=kqueue rake environment resque:work

我的rails控制台

2.0.0p353 :006 > Resque.info

 => {:pending=>0, :processed=>0, :queues=>0, :workers=>1, :working=>0, :failed=>0, :servers=>["redis://localhost:6379/0"], :environment=>"development"} 

2.0.0p353 :007 > Resque.redis

 => #<Redis::Namespace:0x007fbb0fbf3e58 @namespace=:resque, @redis=#<Redis client v3.0.6 for redis://localhost:6379/0>, @warning=false> 

2.0.0p353 :008 > Resque.workers

 => [#<Worker xxx-macbook.local:16869:kqueue>] 
Run Code Online (Sandbox Code Playgroud)

在redis上,

redis 127.0.0.1:6379> keys *
1) "resque:workers"
2) "resque:delayed_queue_schedule"
3) "resque:worker:xxx-macbook.local:16869:kqueue:started"
4) "resque:timestamps:{\"class\":\"InvokeScheduler\",\"args\":[{\"target\":\"/sendmail\",\"http_method\":\"post\",\"type\":\"signup_verification\",\"user_id\":31}],\"queue\":\"kqueue\"}"
5) "resque:delayed:1388832771"
Run Code Online (Sandbox Code Playgroud)

resque-web说:

0 of 1 Workers Working

Failed Jobs
Showing 0 to 0 of 0 jobs


Worker xxx-macbook.local:16869:kqueue

Host    Pid   Started Queues  Processed Failed  Processing …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails resque ruby-on-rails-4 resque-scheduler

7
推荐指数
1
解决办法
3120
查看次数

Resque-Scheduler在Rails 4.2中不使用ActiveJob

有没有人能够在Rails 4.2中获得预定的工作?

我正在使用resque,我正在尝试使用resque-scheduler来安排作业.我有一个计划加载和调度程序运行,甚至看起来它正在运行作业但它没有做任何事情.

resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Starting
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Loading Schedule
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Scheduling friends 
resque-scheduler: [INFO] 2014-09-16T01:54:25-07:00: Schedules Loaded
resque-scheduler: [INFO] 2014-09-16T01:54:55-07:00: queueing FriendsJob (friends)
Run Code Online (Sandbox Code Playgroud)

我可以将这样的工作排队,然后进行处理.

TestJob.enqueue(params[:id])
Run Code Online (Sandbox Code Playgroud)

我在工作日志中得到了这个输出

got: (Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])
** [01:24:01 2014-09-16] 54841: resque-1.25.2: Processing default since 1410855841  [ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper]
** [01:24:01 2014-09-16] 54841: Running before_fork hooks with [(Job{default} | ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper | ["TestJob", "98732ce5-17f7-4da3-9a03-a5d2f8f74e84", "8"])]
** [01:24:01 2014-09-16] 54841: resque-1.25.2: Forked 54882 at 1410855841
** [01:24:01 2014-09-16] 54882: Running after_fork hooks …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails resque ruby-on-rails-4 resque-scheduler rails-activejob

7
推荐指数
2
解决办法
2638
查看次数

Rails开发环境Resque.enqueue不会创建作业

我有像Rails自定义环境一样的问题Resque.enqueue不创建作业,但那里的解决方案对我不起作用.

我正在使用Resque几个异步作业.它适用于staging环境,但由于某种原因它停止了development环境工作.

例如,如果我运行以下内容:

$ rails c development

> Resque.enqueue(MyLovelyJob, 1)
Run Code Online (Sandbox Code Playgroud)

什么都没有排队.我检查Resque使用resque-web

如果我在分期运行它 - 它工作得很好.

$ rails c staging

> Resque.enqueue(MyLovelyJob, 1)
Run Code Online (Sandbox Code Playgroud)

我试图复制2环境,他们似乎使用完全相同的配置(database.yml,配置/环境等),但development仍然无法正常工作.

如果我做

 > Resque.enqueue(UpdateInstancesData, 2)
 > => true

 > Resque.info
 > => {
 >       :pending => 0,
 >     :processed => 0,
 >        :queues => 0,
 >       :workers => 1,
 >       :working => 0,
 >        :failed => 0,
 >       :servers => [
 >       [0] "redis://127.0.0.1:6379/0"
 >   ], …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails resque redis

6
推荐指数
1
解决办法
3659
查看次数