Class: CreateDelayedJobs

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/twroute/requester/delayed/create_delayed_jobs.rb

Class Method Summary collapse

Class Method Details

.downObject



16
17
18
# File 'lib/twroute/requester/delayed/create_delayed_jobs.rb', line 16

def self.down
  drop_table :delayed_jobs
end

.upObject



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/twroute/requester/delayed/create_delayed_jobs.rb', line 2

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.text :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