Tag: resque

使用Heroku在RedisToGo上使用Resque,Resque Server

我一直试图让Resque(使用Resque服务器)和RedisToGo在heroku(雪松)上工作一段时间,但我一直遇到这个错误: Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)): 它在本地工作,我可以在我的应用程序的Heroku控制台中访问redis。 我的Procfile有: web: bundle exec thin start -p $PORT -e $RACK_ENV web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 bundle exec rake resque:work 我的Gemfile有: gem ‘redis’ #Background queue gem ‘resque’, ‘~> 1.22.0’, :require => “resque/server” LIB /任务/ resque.rake: require ‘resque/tasks’ task “resque:setup” […]

让Rails 2.3.x忽略i18n gem

我有一个Rails 2.3.5项目,它使用Rails的本地化function。 我也碰巧安装了Rails 3 beta(这取决于i18n gem)。 Rails 2.3.5很乐意自己处理本地化(没有安装i18n),但是如果i18n gem可用,它就会使用它。 最近我升级了我的gem,现在安装了0.3.7和0.4.0的i18n。 当然,Rails想要加载和使用导致我的项目出错的最新版本。 我尝试将gem版本设置为0.3.7,这可以解决Web应用程序中的错误。 但是,我们使用resque和resque_mailer来延迟发送消息。 当工作人员从队列中获取邮件程序作业时,它会忽略environment.rb中的config.gem要求并使用版本0.4.0。 理想情况下,我想告诉Rails根本不使用i18n gem。 我怎么做? 更新:从beta 4开始,Rails 3现在需要i18​​n版本0.4.1。 我不知道有多少人没有遇到这个问题,因为现在看来如果安装了Rails 2和Rails 3,你就会遇到这个问题。

在Heroku上一起使用Resque,Puma和Scheduler

在审查了许多指南之后,我想确认一下我的设置。 现在我的procfile看起来像: web: bundle exec puma -C config/puma.rb config.ru resque: TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 QUEUES=* bundle exec rake resque:work worker: bundle exec rake resque:work COUNT=1 QUEUE=* scheduler: bundle exec rake resque:scheduler ……在Heroku : …和我的rake resque设置任务 : require ‘resque’ require ‘resque/tasks’ require ‘resque/scheduler/tasks’ # http://jademind.com/blog/posts/enable-immediate-log-messages-of-resque-workers/ namespace :resque do desc ‘Initialize Resque environment’ task setup: :environment do ENV[‘QUEUE’] ||= […]

如何在AWS Elastic Beanstalk上使用Resque运行Rails后台作业?

我在AWS Elastic Beanstalk平台上运行我的rails应用程序,该平台运行带有Auto Scaling和Elastic Load Balancing的单个EC2实例。 我想知道如何在Elastic Beanstalk上运行resque , delayed_job或sidekicq或其他一些后台作业解决方案。 Elastic Beanstalk上后台作业的可能选项有哪些?

将redis部署到heroku无法连接

香港专业教育学院一直试图让resoku与heroku合作。 我可以成功地让它在开发模式下工作,但是当我尝试推送到heroku时我得到了 Errno::ECONNREFUSED (Connection refused – Unable to connect to Redis on 127.0.0.1:6379): 然后阅读并关注http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ 我把网站上列出的配置但出现以下错误 SocketError (getaddrinfo: nodename nor servname provided, or not known): 我输入了我的初始化器/ resque.rb Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection } ENV[“redis://redistogo:11111111111111111@lab.redistogo.com:9254/”] ||= “redis://heroku_username:heroku_password@host:9254/” uri = URI.parse(ENV[“redis://redistogo:1111111111111111@lab.redistogo.com:9254/”]) Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) 但它会抛出上面提到的错误。 在我的开发模式下,我也得到了错误。 我尝试使用我的heroku用户名(我使用heroku中的add),将我的密码输入heroku,并将端口更改为9254.但是我现在一直收到套接字错误。 我究竟做错了什么? 帮助将不胜感激。 谢谢 […]

Heroku上的Postgres错误与Resque

我不太了解Postgres了解这条消息。 PG::Error: SSL error: decryption failed or bad record mac : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = ‘”users”‘::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum 这是来自resque后端的callstack /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1139:in `async_exec’ /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1139:in `exec_no_cache’ /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `block in exec_query’ […]

适用于Image Heavy App的最佳Ruby on Rails架构

我正在构建一个允许同时上传大量照片的应用程序,并想知道解决此问题的最佳设置。 这是我到目前为止使用的: Jquery文件上传:允许用户拖放图像 CarrierWave:处理图像并使用ImageMagickresize Amazon S3:CarrierWave通过Fog将图像上传到Amazon S3 Heroku:用于托管 我想允许用户能够将大量图像拖放到页面上,然后在后台进行上传时导航到其他页面。 我还想在完成上传时显示图片。 我不希望这个过程锁定Heroku dynos,所以我可能需要将工作转移到后台工作,但我不确定如何使用我的情况。 这类应用程序的最佳设置是什么? 我应该使用什么背景工人gem? Cloudinary是个好主意吗?

resque中的问题:完成处理后,作业没有从队列中删除

我在rails应用程序中使用resque和resque-scheduler。 我在使用resque-scheduler时遇到了奇怪的问题。 一旦完成“执行”方法,我的一个工作就是不会从队列中删除。 我需要明确地将其删除以退出队列,然后队列中的其他作业开始执行。 工作类很简单,如: class FooJob @queue = :high_volume def self.perform puts “FooJob#perform:” # some method call end end resque_schedule.yml包含: add_jobs_from_foo: cron: “15 * * * *” class: FooJob description: “enqueue jobs from Foo” 它可能是gem版本的问题吗? 还是其他什么?

如何设置Rails 4,Resque 2与Foreman一起运行?

我试图在Heroku上运行一个简单的Rails应用程序,其中包含一些后台任务。 该应用程序部署到Heroku,因此我在本地使用Foreman运行它,以便它与生产中的工作方式类似。 但是,我不能让Resque开始并熬夜。 即使没有提交任何任务,它也会每次都关闭。 这就是设置的方式。 Gemfile(基于resith的github页面) gem “resque”, “~> 2.0.0.pre.1”, github: “resque/resque” Procfile web: bundle exec rails server -e $RAILS_ENV -p $PORT resque: bundle exec rake environment resque:work 当我运行’foreman start -e config / dev.env’时,一切都开始启动,但随后Resque SIGTERMS。 这是日志: 16:26:56 resque.1 | Loading Rails environment for Resque 16:26:56 resque.1 | D, [2014-03-12T16:26:56.237941 #22530] DEBUG — : resque-2.0.0.pre.1: Starting […]

resque-scheduler在删除作业时失败

我使用了Github中的POC(队列丢失了,我添加了它: name = ‘send_emails’ config = {} config[:class] = ‘SendEmail’ config[:args] = ‘POC email subject’ config[:cron] = ‘* * * * * *’ config[:persist] = true config[:queue] = ‘new’ Resque.set_schedule(name, config) sleep(10) #Try to remove the job Resque.remove_schedule(name) 我收到以下错误: /var/lib/gems/1.9.1/gems/resque-scheduler-3.0.0/lib/resque/scheduler.rb:295:in `block in update_schedule’: undefined method `keys’ for nil:NilClass (NoMethodError) from /var/lib/gems/1.9.1/gems/resque-scheduler-3.0.0/lib/resque/scheduler.rb:292:in `loop’ from /var/lib/gems/1.9.1/gems/resque-scheduler-3.0.0/lib/resque/scheduler.rb:292:in `update_schedule’ […]