bizside 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4c22002eada30e8bb21db240f3c28c346c7049ccc375ff6f7afd3cfb8fb713e
4
- data.tar.gz: 6357dee7fe2d59e8619cc0937d6fd0ccc204dcf7387cbc0cf4871681e0cf22bd
3
+ metadata.gz: bd4c4d59e6c2fd248b3565193a5ba24a74f3f07af72da266534111056e1c871a
4
+ data.tar.gz: c54b472441f94111115ba94a49bc960931a6c5718749b4514f5ad0f75322f0bd
5
5
  SHA512:
6
- metadata.gz: bd28798fd692aef8e7fe202a5de9375362d29a226b19517f1ada70f39f69d94110a260b4cb4c14c3b7c5b6f0d5f92f223f33cd01aff19176b310e491b2de2040
7
- data.tar.gz: b32b86fa1b621e70b37cf237dfcf7c09dc4fb868fde37727f5f19214f12e207ffc5d9db697ab3210083fd2c1c7dc3c67470e99dac7167460475d9a7d5c8fa4d4
6
+ metadata.gz: 8c9b447735af116e20f84ce28a7f409ae5aee2ef9e1c20cdd00ec66dc81c1a18a19081a7abedff81295d8e202905107aaef74dae28853693c8ce9d18bf685899
7
+ data.tar.gz: f3761c840f6d3502f20f9a3d4d201de2c7898d53f5e62c1fc988f5768e9317c37363bc711c25aa955dbd76b3a289a5f04a0d0f01d8bd95898bae185755d773ec
@@ -108,6 +108,24 @@ module Bizside
108
108
  ::Resque.remove_delayed_in_queue(klass, queue, *args)
109
109
  end
110
110
 
111
+ # Resque.delayed? は @queue の定義がない場合に機能しないため、独自に実装
112
+ def self.delayed?(klass, args, except: [])
113
+ args_to_check = args.with_indifferent_access.except(*Array(except))
114
+
115
+ JobUtils.delayed_queue_peek(0, JobUtils.delayed_queue_schedule_size).each do |timestamp|
116
+ JobUtils.delayed_timestamp_peek(timestamp, 0, JobUtils.delayed_timestamp_size(timestamp)).each do |job_info|
117
+ job_args = job_info['args'].first.presence || {}
118
+ job_args = job_args.with_indifferent_access.except(*Array(except))
119
+ if job_info['class'] == klass.to_s && job_args == args_to_check
120
+ Rails.logger.info "遅延ジョブに #{job_info} がすでに登録されています。"
121
+ return true
122
+ end
123
+ end
124
+ end
125
+
126
+ false
127
+ end
128
+
111
129
  def self.set_job_at(time, klass, *args)
112
130
  if Bizside.rails_env&.test?
113
131
  do_perform_and_hooks_instantly(klass, 'テスト時には遅延ジョブの登録を行わず、即時実行します。', *args)
@@ -1,3 +1,3 @@
1
1
  module Bizside
2
- VERSION = '2.3.0'
2
+ VERSION = '2.3.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bizside
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - bizside-developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-23 00:00:00.000000000 Z
11
+ date: 2023-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport