delayed-job

How to monitor delayed_job with monit

Are there any examples on the web of how to monitor delayed_job with Monit? Everything I can find uses God, but I refuse to use God since long running processes in Ruby generally suck. (The most current post in the God mailing list? God Memory Usage Grows Steadily.) Update: delayed_job now comes with a sample monit config based on thi...

Preventing delayed_job background jobs from consuming too much CPU on a single server

My Rails application has a number of tasks which are offloaded into background processes, such as image resizing and uploading to S3. I'm using delayed_job to manage these processes. These processes, particularly thumbnailing PDFs (using Ghostscript) and resizing images (using ImageMagick), are CPU intensive and often consume 100% CPU ...

Using delayed_job across multiple machines with some tasks that need to run locally

I'm trying to use delayed_job for various parts of a rails app. The problem is that if we have multiple instances of the app running, but certain jobs (processing uploads, for example) need to be run by local workers, whereas others could benefit by being run by any worker. Does anyone have any recommendations for a good approach to hav...

delayed_job not picking up the rails environment

Followed this question about delayed_job and monit Its working on my development machine. But whenever I try to run on production, it just dies with following on delayed_job.log *** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:356 #<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)> **...

Test priorities on delayed_job plugin in rails.

I want to test how priorities are working in the delayed_job plugin. Im using the mailit app from railscasts. I think i want to send 100 messages with a high priority and 100 with a lower priority. And i want to see if the messages with a lower priority will be delivered on time or they will be put aside. How can i do a test like this....

Start Delayed Job on Mac Reboot / Startup

I've got a simple app deployed to a Mac mini running 10.5.8 How would I go about restarting the Delayed Job worker anytime the computer is restarted? ...

using Kernel#fork for backgrounding processes, pros? cons?

I'd like some thoughts on whether using fork{} to 'background' a process from a rails app is such a good idea or not... From what I gather fork{my_method; Process#setsid} does in fact do what it's supposed to do. 1) creates another processes with a different PID 2) doesn't interrupt the calling process (e.g. it continues w/o waiting f...

Rails / delayed_job - want to load newest version of job class

I'm using the delayed_job plugin in Rails to do background processing, and I'm experiencing a hiccup in the 'agile development' I've been experiencing so far in Rails... Usually in rails if I hit an error / want to add some new functionality - I just add some code and refresh the page and the new code runs. With delayed_job, it seems l...

Bulk User Creation in Rails - good use of delayed_job?

In the administration panel for my rails application I want to give the administrator the ability to create several users at one time (in the hundreds range). Would this be a good use for delayed_job? ...

Regular delayed jobs

Hello, I'm using Delayed Job to manage background work. However I have some tasks that need to be executed at regular interval. Every hour, every day or every week for example. For now, when I execute the task, I create a new one to be executed in one day/week/month. However I don't really like it. If for any reason, the task isn't co...

DelayedJob with acts_as_ferret in production mode

I get the following error when I run my task via DelayedJob: closed stream /usr/lib/ruby/1.8/drb/drb.rb:961:in `select' /usr/lib/ruby/1.8/drb/drb.rb:961:in `alive?' /usr/lib/ruby/1.8/drb/drb.rb:1211:in `alive?' /usr/lib/ruby/1.8/drb/drb.rb:1168:in `open' /usr/lib/ruby/1.8/drb/drb.rb:1166:in `each' /usr/lib/ruby/1.8/drb/drb.rb:1166:in `o...

Rails problem with Delayed_Job and Active Record

I'm using Delayed_Job to grab a Twitter user's data from the API, but it's not saving it in the model for some reason! Please help! (code below) class BandJob < Struct.new(:band_id, :band_username) #parameter def perform require 'json' require 'open-uri' band = Band.find_by_id(band_id) t = JSON.parse(open("http://twi...

delayed_job talking to acts_as_ferret via drb server results in a closed stream error

I'm using delayed_job to process some files and then create some activerecord objects with the results. The activerecord objects are being indexed with acts_as_ferret which is running as a drb server. When delayed_job processes the job, everything goes fine until it reaches the point when active record tries to talk to ferret via the dr...

Starting delayed_job at startup

I'm using delayed_job with capistrano and would like a way to start delayed_job on startup of the web application using the 'script/delayed_job start'. This way capistrano can restart it on deploy. If the server gets rebooted then my delayed_jobs should start up with the project. How can I do this? Should I be looking at doing this in...

Can I start and stop delayed_job workers from within my Rails app?

I've got an app that could benefit from delayed_job and some background processing. The thing is, I don't really need/want delayed_job workers running all the time. The app runs in a shared hosting environment and in multiple locations (for different users). Plus, the app doesn't get a large amount of usage. Is there a way to start a...

How to deploy resque workers in production?

The GitHub guys recently released their background processing app which uses Redis: http://github.com/defunkt/resque http://github.com/blog/542-introducing-resque I have it working locally, but I'm struggling to get it working in production. Has anyone got a: Capistrano recipe to deploy workers (control number of workers, restarting ...

Delayed Job works in development but not in production

My application uses the Collective Idea fork of Delayed Job to send email asynchronously. The problem is that this works fine in the development environment but not in production. The jobs aren't failing (I've checked the delayed_jobs table), they're just not being consumed. There is nothing of note in the production log. This is the co...

delayed_job: detecting when one instance already running in /etc/init.d/delayed_job

Hi all I've been trying to build a robust /etc/init.d/delayed_job script. Below is my naive attempt which is failing in the case of the daemon already running. #! /bin/sh ... # return 1 if already running do_start() { /path/to/current/script/delayed_job start if [ "$?" -ne "0" ]; then echo "delayed_job i...

Getting Delayed-jobs working within a model

I have a model which represents a document, the title, author, etc is scraped from a web table, but the content needs to be pulled from a PDF which is time and resource intensive. This seems like a logical place to used delayed_jobs but it always fails and so I'm wondering if there is a limitation I am missing or a GCE #working code do...

Is it possible to change the logging level of delayed_job separately from the main Rails app?

I'd like to use the DEBUG logging level for my Rails app on our staging server, but I'd like delayed_job (which logs a SELECT statement to the main Rails log every 10 seconds) to log at INFO level, so I don't get these delayed_job SELECT statements in there. Is this possible? ...