Add and install delayed_job gem

This commit is contained in:
Mathieu Magnin 2017-09-26 10:43:50 +02:00 committed by Simon Lehericey
parent 3cbf555ee5
commit 608419701e
5 changed files with 52 additions and 1 deletions

View file

@ -101,6 +101,9 @@ gem 'sidekiq'
gem 'sidekiq-cron', '~> 0.4.4' gem 'sidekiq-cron', '~> 0.4.4'
gem 'sinatra', git: 'https://github.com/sinatra/sinatra.git', require: false gem 'sinatra', git: 'https://github.com/sinatra/sinatra.git', require: false
# Cron jobs
gem 'delayed_job_active_record'
gem 'select2-rails' gem 'select2-rails'
# PDF Generation # PDF Generation

View file

@ -130,6 +130,11 @@ GEM
debug_inspector (0.0.2) debug_inspector (0.0.2)
deep_cloneable (2.2.2) deep_cloneable (2.2.2)
activerecord (>= 3.1.0, < 5.2.0) activerecord (>= 3.1.0, < 5.2.0)
delayed_job (4.1.3)
activesupport (>= 3.0, < 5.2)
delayed_job_active_record (4.1.2)
activerecord (>= 3.0, < 5.2)
delayed_job (>= 3.0, < 5)
devise (4.2.0) devise (4.2.0)
bcrypt (~> 3.0) bcrypt (~> 3.0)
orm_adapter (~> 0.1) orm_adapter (~> 0.1)
@ -696,6 +701,7 @@ DEPENDENCIES
copy_carrierwave_file copy_carrierwave_file
database_cleaner database_cleaner
deep_cloneable (~> 2.2.1) deep_cloneable (~> 2.2.1)
delayed_job_active_record
devise devise
dotenv-rails dotenv-rails
draper (~> 3.0.0.pre1) draper (~> 3.0.0.pre1)

5
bin/delayed_job Executable file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize

View file

@ -0,0 +1,22 @@
class CreateDelayedJobs < ActiveRecord::Migration[5.0]
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 null: true
end
add_index :delayed_jobs, [:priority, :run_at], name: "delayed_jobs_priority"
end
def self.down
drop_table :delayed_jobs
end
end

View file

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170908101023) do ActiveRecord::Schema.define(version: 20170926083816) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -162,6 +162,21 @@ ActiveRecord::Schema.define(version: 20170908101023) do
t.index ["dossier_id"], name: "index_commentaires_on_dossier_id", using: :btree t.index ["dossier_id"], name: "index_commentaires_on_dossier_id", using: :btree
end end
create_table "delayed_jobs", force: :cascade 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"
t.index ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
end
create_table "dossiers", force: :cascade do |t| create_table "dossiers", force: :cascade do |t|
t.boolean "autorisation_donnees" t.boolean "autorisation_donnees"
t.integer "procedure_id" t.integer "procedure_id"