mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 01:33:36 +02:00
Basic delayed job implementation
This commit is contained in:
parent
6aa82dd222
commit
4cedb2cf78
12 changed files with 126 additions and 1 deletions
22
db/migrate/20141111105931_create_delayed_jobs.rb
Normal file
22
db/migrate/20141111105931_create_delayed_jobs.rb
Normal file
|
@ -0,0 +1,22 @@
|
|||
class CreateDelayedJobs < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table :delayed_jobs, :force => true do |table|
|
||||
table.integer :priority, :default => 0, :null => false # Allows some jobs to jump to the front of the queue
|
||||
table.integer :attempts, :default => 0, :null => false # Provides for retries, but still fail eventually.
|
||||
table.text :handler, :null => false # 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.zone.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.string :queue # The name of the queue this job is in
|
||||
table.timestamps
|
||||
end
|
||||
|
||||
add_index :delayed_jobs, [:priority, :run_at], :name => 'delayed_jobs_priority'
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :delayed_jobs
|
||||
end
|
||||
end
|
18
db/schema.rb
18
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20141105150721) do
|
||||
ActiveRecord::Schema.define(version: 20141111105931) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -91,6 +91,22 @@ ActiveRecord::Schema.define(version: 20141105150721) do
|
|||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "delayed_jobs", force: true do |t|
|
||||
t.integer "priority", default: 0, null: false
|
||||
t.integer "attempts", default: 0, null: false
|
||||
t.text "handler", null: false
|
||||
t.text "last_error"
|
||||
t.datetime "run_at"
|
||||
t.datetime "locked_at"
|
||||
t.datetime "failed_at"
|
||||
t.string "locked_by"
|
||||
t.string "queue"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
|
||||
|
||||
create_table "delegation_signers", force: true do |t|
|
||||
t.integer "domain_id"
|
||||
t.string "key_tag"
|
||||
|
|
|
@ -77,3 +77,5 @@ Setting.ns_min_count = 2
|
|||
Setting.ns_max_count = 11
|
||||
|
||||
Setting.transfer_wait_time = 0
|
||||
|
||||
Setting.whois_enabled = true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue