Permalink
Browse files

Add migration to the default generator

  • Loading branch information...
bkeepers committed Jul 19, 2009
1 parent 4d9a4a1 commit e41a11dba32ed82850999d1152e81dc45c7ed63e
Showing with 22 additions and 0 deletions.
  1. +2 −0 generators/delayed_job/delayed_job_generator.rb
  2. +20 −0 generators/delayed_job/templates/migration.rb
@@ -3,6 +3,8 @@ class DelayedJobGenerator < Rails::Generator::Base
def manifest
record do |m|
m.template 'script', 'script/delayed_job', :chmod => 0755
+ m.migration_template "migration.rb", 'db/migrate',
+ :migration_file_name => "create_delayed_jobs"
end
end
@@ -0,0 +1,20 @@
+class CreateDelayedJobs < ActiveRecord::Migration
+ def self.up
+ create_table :delayed_jobs, :force => true do |table|
+ table.integer :priority, :default => 0 # Allows some jobs to jump to the front of the queue
+ table.integer :attempts, :default => 0 # Provides for retries, but still fail eventually.
+ table.text :handler # YAML-encoded string of the object that will do work
+ table.string :last_error # reason for last failure (See Note below)
+ table.datetime :run_at # When to run. Could be Time.now for immediately, or sometime in the future.
+ table.datetime :locked_at # Set when a client is working on this object
+ table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead)
+ table.string :locked_by # Who is working on this object (if locked)
+ table.timestamps
+ end
+
+ end
+
+ def self.down
+ drop_table :delayed_jobs
+ end
+end

0 comments on commit e41a11d

Please sign in to comment.