sidekiq_bulk_job 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71203ea369c49030deec6cf4e48363f00c9308a8840832717c575f4621251ab4
4
- data.tar.gz: c41f6dd123ca271c2224ed21151c6401c03cafd40e1b9a6d187fec22190884bc
3
+ metadata.gz: 795d7a4f3d359d67ee4cf6894df0fc14193da298e778e779da208f38168f6a96
4
+ data.tar.gz: baf26c1a2d731da06faed59c9824298e4c22c7ae3cf8a67e4fb7c29fa2d4860e
5
5
  SHA512:
6
- metadata.gz: 4ee561021c0fe02bfd932f3e9d2a1a3db86b4445fe4ac16c4be5073122d813fc1937b81d4e15e7094362663f8b34a2ef75338f37c5ffdeba99262aea38919034
7
- data.tar.gz: 0fcdfb2dd97e3f22a946178c8c4db149d54e978a590606a5a472e32bd9b25e66839e4e9709c592e96f86fa0200a4c94de7288c24de6d77c26db5e89359d8c7ce
6
+ metadata.gz: ac4f23ee0e7a81ad91ee343c3c5df63baf656d48a3eebe2925f18cd6e87589f519c477f3f2c49c4cf0fa923586506591ee81014fce20a8ff848ab63a8df0b195
7
+ data.tar.gz: b770c30598a61234cbcd1534c84ed9f7f0782b47f3315c51e1aa2368b2a82eabdcc1cdbc8b062bbce491e7b726ef662e74448dd6474abd9a89be5c9d6ad7cace
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sidekiq_bulk_job (0.1.3)
4
+ sidekiq_bulk_job (0.1.4)
5
5
  sidekiq (~> 5.2.7)
6
6
 
7
7
  GEM
@@ -64,18 +64,37 @@ module SidekiqBulkJob
64
64
 
65
65
  class << self
66
66
 
67
- attr_accessor :prefix, :redis, :queue, :batch_size, :logger, :process_fail
67
+ attr_accessor :prefix, :redis, :queue, :scheduled_delay, :async_delay, :batch_size, :logger, :process_fail
68
68
 
69
- def config(redis: , logger: , process_fail: , queue: :default, batch_size: 3000, prefix: "SidekiqBulkJob")
69
+ def config(redis: , logger: , process_fail: , async_delay: 60, scheduled_delay: 10, queue: :default, batch_size: 3000, prefix: "SidekiqBulkJob")
70
70
  if redis.nil?
71
71
  raise ArgumentError.new("redis not allow nil")
72
72
  end
73
+ if logger.nil?
74
+ raise ArgumentError.new("logger not allow nil")
75
+ end
76
+ if process_fail.nil?
77
+ raise ArgumentError.new("process_fail not allow nil")
78
+ end
79
+ if async_delay.to_f < 2
80
+ raise ArgumentError.new("async_delay not allow less than 2 seconds.")
81
+ elsif async_delay.to_f > 5 * 60
82
+ raise ArgumentError.new("async_delay not allow greater than 5 minutes.")
83
+ end
84
+ if scheduled_delay.to_f < 2
85
+ raise ArgumentError.new("scheduled_delay not allow less than 2 seconds.")
86
+ elsif scheduled_delay.to_f > 30
87
+ raise ArgumentError.new("scheduled_delay not allow greater than 2 seconds.")
88
+ end
89
+
73
90
  self.redis = redis
74
91
  self.queue = queue
75
92
  self.batch_size = batch_size
76
93
  self.prefix = prefix
77
94
  self.logger = logger
78
95
  self.process_fail = process_fail
96
+ self.async_delay = async_delay.to_f
97
+ self.scheduled_delay = scheduled_delay.to_f
79
98
  end
80
99
 
81
100
  def set(options)
@@ -121,7 +140,7 @@ module SidekiqBulkJob
121
140
  args_redis_key = nil
122
141
  target = scheduled_set.find do |job|
123
142
  if job.klass == SidekiqBulkJob::ScheduledJob.to_s &&
124
- job.at.to_i.between?((at - 5).to_i, (at + 30).to_i) # 允许30秒延迟
143
+ job.at.to_i.between?((at - self.scheduled_delay).to_i, (at + self.scheduled_delay).to_i) # 允许30秒延迟
125
144
  _job_class_name, args_redis_key = job.args
126
145
  _job_class_name == job_class_name
127
146
  end
@@ -197,7 +216,7 @@ module SidekiqBulkJob
197
216
  if !_monitor.nil?
198
217
  # TODO debug log
199
218
  else
200
- SidekiqBulkJob::Monitor.client_push("queue" => queue, "at" => (time_now + 60).to_f, "class" => SidekiqBulkJob::Monitor, "args" => [time_now.to_f, job_class_name])
219
+ SidekiqBulkJob::Monitor.client_push("queue" => queue, "at" => (time_now + self.async_delay).to_f, "class" => SidekiqBulkJob::Monitor, "args" => [time_now.to_f, job_class_name])
201
220
  end
202
221
  end
203
222
 
@@ -1,3 +1,3 @@
1
1
  module SidekiqBulkJob
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_bulk_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - scalaview