From 6f598f40d443351af480d2f1e4398dc6261e8cec Mon Sep 17 00:00:00 2001 From: Brusk Awat Date: Sun, 16 Apr 2023 16:55:39 +0300 Subject: [PATCH 1/3] Fixes typo --- Gemfile.lock | 2 +- lib/generators/outboxable/install_generator.rb | 2 +- lib/outboxable/version.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b1a083b..441b22d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - outboxable (1.0.3) + outboxable (1.0.4) bunny (>= 2.19.0) connection_pool (~> 2.3.0) diff --git a/lib/generators/outboxable/install_generator.rb b/lib/generators/outboxable/install_generator.rb index 7975f8d..d40fa8c 100644 --- a/lib/generators/outboxable/install_generator.rb +++ b/lib/generators/outboxable/install_generator.rb @@ -14,7 +14,7 @@ module Outboxable # Copy initializer into user app def copy_initializer - copy_file('activerecod_initializer.rb', 'config/initializers/z_outboxable.rb') if @orm == 'activerecord' + copy_file('activerecord_initializer.rb', 'config/initializers/z_outboxable.rb') if @orm == 'activerecord' copy_file('mongoid_initializer.rb', 'config/initializers/z_outboxable.rb') if @orm == 'mongoid' end diff --git a/lib/outboxable/version.rb b/lib/outboxable/version.rb index a1d51b7..7582ede 100644 --- a/lib/outboxable/version.rb +++ b/lib/outboxable/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Outboxable - VERSION = '1.0.3' + VERSION = '1.0.4' end From 873f23ba59169fec78d7bb33b380eb57c3e24e9f Mon Sep 17 00:00:00 2001 From: Brusk Awat Date: Tue, 25 Apr 2023 12:39:20 +0300 Subject: [PATCH 2/3] Runs publish inline after commit --- lib/templates/activerecrod_outbox.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/templates/activerecrod_outbox.rb b/lib/templates/activerecrod_outbox.rb index 6f3d0d4..2d054eb 100644 --- a/lib/templates/activerecrod_outbox.rb +++ b/lib/templates/activerecrod_outbox.rb @@ -4,7 +4,7 @@ class Outbox < ApplicationRecord before_save :check_publishing # Callbacks before_create :set_last_attempted_at - after_save :publish, if: :allow_publish + after_commit :publish, if: :allow_publish? # Enums enum status: { pending: 0, processing: 1, published: 2, failed: 3 } enum size: { single: 0, batch: 1 } @@ -20,8 +20,12 @@ class Outbox < ApplicationRecord end def publish - Outboxable::Worker.perform_async(id) - update(status: :processing, last_attempted_at: 1.minute.from_now, allow_publish: false) + # Run this in own thread + threaded = Thread.new do + Outboxable::Worker.perform_inline(id) + update(status: :processing, last_attempted_at: 1.minute.from_now, allow_publish: false) + end + threaded.join end def check_publishing From e486de9bb1f44eafa69c77da7ee7503b41148568 Mon Sep 17 00:00:00 2001 From: Brusk Awat Date: Tue, 25 Apr 2023 12:39:34 +0300 Subject: [PATCH 3/3] Bumps version --- Gemfile.lock | 2 +- lib/outboxable/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 441b22d..1477f5c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - outboxable (1.0.4) + outboxable (1.0.5) bunny (>= 2.19.0) connection_pool (~> 2.3.0) diff --git a/lib/outboxable/version.rb b/lib/outboxable/version.rb index 7582ede..718b1c4 100644 --- a/lib/outboxable/version.rb +++ b/lib/outboxable/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Outboxable - VERSION = '1.0.4' + VERSION = '1.0.5' end