@@ -87,7 +87,7 @@ gem 'bundler', '>= 1.5.0' |
||
87 | 87 |
gem 'coffee-rails', '~> 4.2' |
88 | 88 |
gem 'daemons', '~> 1.1.9' |
89 | 89 |
gem 'delayed_job', '~> 4.1.0' |
90 |
-gem 'delayed_job_active_record', github: 'collectiveidea/delayed_job_active_record', branch: 'master' |
|
90 |
+gem 'delayed_job_active_record', github: 'dsander/delayed_job_active_record', branch: 'rails5' |
|
91 | 91 |
gem 'devise','~> 4.2.0' |
92 | 92 |
gem 'em-http-request', '~> 1.1.2' |
93 | 93 |
gem 'faraday', '~> 0.9.0' |
@@ -18,9 +18,9 @@ GIT |
||
18 | 18 |
simple_oauth (~> 0.3.0) |
19 | 19 |
|
20 | 20 |
GIT |
21 |
- remote: git://github.com/collectiveidea/delayed_job_active_record.git |
|
22 |
- revision: 36f434c4fd660e8f11ce932be117e9c71dde7212 |
|
23 |
- branch: master |
|
21 |
+ remote: git://github.com/dsander/delayed_job_active_record.git |
|
22 |
+ revision: b314972ccc92e0e8b03b1589174d8fb9a82b3cd0 |
|
23 |
+ branch: rails5 |
|
24 | 24 |
specs: |
25 | 25 |
delayed_job_active_record (4.1.1) |
26 | 26 |
activerecord (>= 3.0, < 5.1) |
@@ -44,7 +44,7 @@ class Agent < ActiveRecord::Base |
||
44 | 44 |
after_save :possibly_update_event_expirations |
45 | 45 |
|
46 | 46 |
belongs_to :user, :inverse_of => :agents |
47 |
- belongs_to :service, :inverse_of => :agents |
|
47 |
+ belongs_to :service, :inverse_of => :agents, optional: true |
|
48 | 48 |
has_many :events, -> { order("events.id desc") }, :dependent => :delete_all, :inverse_of => :agent |
49 | 49 |
has_one :most_recent_event, -> { order("events.id desc") }, :inverse_of => :agent, :class_name => "Event" |
50 | 50 |
has_many :logs, -> { order("agent_logs.id desc") }, :dependent => :delete_all, :inverse_of => :agent, :class_name => "AgentLog" |
@@ -3,10 +3,10 @@ |
||
3 | 3 |
# Agents' `last_error_log_at` column. These are often used to determine if an Agent is `working?`. |
4 | 4 |
class AgentLog < ActiveRecord::Base |
5 | 5 |
belongs_to :agent |
6 |
- belongs_to :inbound_event, :class_name => "Event" |
|
7 |
- belongs_to :outbound_event, :class_name => "Event" |
|
6 |
+ belongs_to :inbound_event, :class_name => "Event", optional: true |
|
7 |
+ belongs_to :outbound_event, :class_name => "Event", optional: true |
|
8 | 8 |
|
9 |
- validates_presence_of :agent, :message |
|
9 |
+ validates_presence_of :message |
|
10 | 10 |
validates_numericality_of :level, :only_integer => true, :greater_than_or_equal_to => 0, :less_than => 5 |
11 | 11 |
|
12 | 12 |
before_validation :scrub_message |
@@ -11,7 +11,7 @@ class Event < ActiveRecord::Base |
||
11 | 11 |
|
12 | 12 |
json_serialize :payload |
13 | 13 |
|
14 |
- belongs_to :user |
|
14 |
+ belongs_to :user, optional: true |
|
15 | 15 |
belongs_to :agent, :counter_cache => true |
16 | 16 |
|
17 | 17 |
has_many :agent_logs_as_inbound_event, :class_name => "AgentLog", :foreign_key => :inbound_event_id, :dependent => :nullify |
@@ -10,16 +10,18 @@ Delayed::Worker.logger = Rails.logger |
||
10 | 10 |
# Delayed::Worker.logger = Logger.new(Rails.root.join('log', 'delayed_job.log')) |
11 | 11 |
# Delayed::Worker.logger.level = Logger::DEBUG |
12 | 12 |
|
13 |
-class Delayed::Job |
|
14 |
- scope :pending, -> { where("locked_at IS NULL AND attempts = 0") } |
|
15 |
- scope :awaiting_retry, -> { where("failed_at IS NULL AND attempts > 0 AND locked_at IS NULL") } |
|
16 |
- scope :failed, -> { where("failed_at IS NOT NULL") } |
|
17 |
-end |
|
13 |
+ActiveSupport.on_load(:delayed_job_active_record) do |
|
14 |
+ class Delayed::Job |
|
15 |
+ scope :pending, -> { where("locked_at IS NULL AND attempts = 0") } |
|
16 |
+ scope :awaiting_retry, -> { where("failed_at IS NULL AND attempts > 0 AND locked_at IS NULL") } |
|
17 |
+ scope :failed, -> { where("failed_at IS NOT NULL") } |
|
18 |
+ end |
|
18 | 19 |
|
19 |
-database_deadlocks_when_using_optimized_strategy = lambda do |
|
20 |
- ENV["DATABASE_ADAPTER"] == "mysql2" |
|
21 |
-end |
|
20 |
+ database_deadlocks_when_using_optimized_strategy = lambda do |
|
21 |
+ ENV["DATABASE_ADAPTER"] == "mysql2" |
|
22 |
+ end |
|
22 | 23 |
|
23 |
-Delayed::Backend::ActiveRecord.configure do |config| |
|
24 |
- config.reserve_sql_strategy = :default_sql |
|
25 |
-end if database_deadlocks_when_using_optimized_strategy.call |
|
24 |
+ Delayed::Backend::ActiveRecord.configure do |config| |
|
25 |
+ config.reserve_sql_strategy = :default_sql |
|
26 |
+ end if database_deadlocks_when_using_optimized_strategy.call |
|
27 |
+end |