expire_job 0.1.1 → 0.1.5.pre

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: 24d7a4c066e98544b2ca25d52860a5be8cc80c3eeb3f6b75e92403fbce081107
4
- data.tar.gz: 1c38abfd9f690bb47a4cb5ce3432e6aef78e01e0c97a4d45c500587ebb4d7a9a
3
+ metadata.gz: 6cd4280df350274047708624ad5812400717319341158460546cdd4fb1c845b9
4
+ data.tar.gz: c7cdb5c9bbe09147807dc7481836d3134768b1457de530338abb6045c881e553
5
5
  SHA512:
6
- metadata.gz: 6595f406df56ac89d17fcd768708255b789614e9c3947131fb324d65584786f90a9919e782597a1e7171721596ef02b1795f747c4c70e8734c2ff49b991e10f9
7
- data.tar.gz: 84508ba69f85c5eebec2db8940303c49d3dd7133ce7956fbc56a93e22c8bcc43945cf36136186031d3aca4014533afface31ccb3ff75bbe94138b781ace29595
6
+ metadata.gz: f08c98b24108f33a8c627adf1077c26c24c5044512390c835d81b893a7d1f279f5445ce3358e3f1b2b91514e279b9b2165fcf4c2cca4ad8312afda9cb3238150
7
+ data.tar.gz: da05770d923b3f89b1e59e41ac00a50eb3ace1ee1b949dc7a5b9149ca69594070397ae8a240586dc0cd0fca555e372a99404080b56f7d13120285d78364e1ea3
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.4
data/Gemfile.lock CHANGED
@@ -1,24 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- expire_job (0.1.1)
4
+ expire_job (0.1.5.pre)
5
5
  sidekiq (> 6.0, < 7.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- connection_pool (2.2.2)
11
- minitest (5.11.3)
12
- rack (2.2.2)
13
- rack-protection (2.0.8.1)
14
- rack
15
- rake (12.3.2)
16
- redis (4.1.4)
17
- sidekiq (6.0.7)
10
+ connection_pool (2.2.5)
11
+ minitest (5.14.2)
12
+ rack (2.2.3)
13
+ rake (12.3.3)
14
+ redis (4.5.1)
15
+ sidekiq (6.3.1)
18
16
  connection_pool (>= 2.2.2)
19
17
  rack (~> 2.0)
20
- rack-protection (>= 2.0.0)
21
- redis (>= 4.1.0)
18
+ redis (>= 4.2.0)
22
19
 
23
20
  PLATFORMS
24
21
  ruby
@@ -1,3 +1,3 @@
1
1
  module ExpireJob
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.5.pre"
3
3
  end
data/lib/expire_job.rb CHANGED
@@ -5,29 +5,30 @@ require "expire_job/version"
5
5
 
6
6
  module ExpireJob
7
7
  class Middleware
8
- def call(worker, msg)
8
+ def call(worker, msg, queue, &block)
9
9
  if worker.respond_to?(:expire_in)
10
10
  picked_time = pick_enqueued_at(msg)
11
11
  parsed_time = parse_time(picked_time)
12
- if perform_expire_check(worker, msg['args'], worker.expire_in, parsed_time)
12
+
13
+ if perform_expire_check(worker.expire_in, parsed_time)
13
14
  yield
15
+ else
16
+ logger.info { "[ExpireJob] Expired job is skipped. args=#{truncate(msg['args'].inspect)}" }
17
+ perform_callback(worker, :after_expire, msg['args'])
18
+ nil
14
19
  end
15
20
  else
16
21
  yield
17
22
  end
18
23
  end
19
24
 
20
- def perform_expire_check(worker, args, expire_in, enqueued_at)
25
+ def perform_expire_check(expire_in, enqueued_at)
21
26
  if enqueued_at.nil?
22
- logger.warn { "Can not expire this job because enqueued_at is not found. args=#{truncate(args.inspect)}" }
27
+ logger.warn { "[ExpireJob] Can not expire this job because enqueued_at is nil." }
23
28
  return true
24
29
  end
25
30
 
26
31
  if enqueued_at < Time.now - expire_in
27
- logger.info { "Skip expired job. args=#{truncate(args.inspect)}" }
28
-
29
- perform_callback(worker, :after_expire, args)
30
-
31
32
  false
32
33
  else
33
34
  true
@@ -40,7 +41,7 @@ module ExpireJob
40
41
 
41
42
  if args.is_a?(Array) && args.size >= 1 && args.last.is_a?(Hash)
42
43
  enqueued_at = args.last['enqueued_at']
43
- logger.info { "enqueued_at was found in args. enqueued_at=#{enqueued_at}" } if enqueued_at
44
+ logger.info { "[ExpireJob] enqueued_at was found in args. enqueued_at=#{enqueued_at}" } if enqueued_at
44
45
  end
45
46
 
46
47
  if enqueued_at.nil?
@@ -48,7 +49,7 @@ module ExpireJob
48
49
  # created_at: is a time when #perform_async or #perform_in is called
49
50
  # enqueued_at: is a time when the job is inserted into a queue
50
51
  enqueued_at = msg['created_at'] # TODO Use enqueued_at?
51
- logger.debug { "enqueued_at was found in msg. enqueued_at=#{enqueued_at}" } if enqueued_at
52
+ logger.debug { "[ExpireJob] enqueued_at was found in msg. enqueued_at=#{enqueued_at}" } if enqueued_at
52
53
  end
53
54
 
54
55
  enqueued_at
@@ -61,7 +62,7 @@ module ExpireJob
61
62
  Time.parse(value)
62
63
  end
63
64
  rescue => e
64
- logger.warn { "Can not parse this value. value=#{value.inspect}" }
65
+ logger.warn { "[ExpireJob] Can not parse this value. value=#{value.inspect}" }
65
66
  nil
66
67
  end
67
68
 
@@ -76,8 +77,7 @@ module ExpireJob
76
77
  worker.send(callback_name, *args)
77
78
  end
78
79
  rescue ArgumentError => e
79
- message = "The number of parameters of the callback method (#{parameters.size}) is not the same as the number of arguments (#{args.size})"
80
- raise ArgumentError.new("#{self.class}:#{worker.class} #{message} callback_name=#{callback_name} args=#{args.inspect} parameters=#{parameters.inspect}")
80
+ raise ArgumentError.new("[ExpireJob] Invalid parameters callback_name=#{callback_name}")
81
81
  end
82
82
  end
83
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expire_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.5.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - ts-3156
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-25 00:00:00.000000000 Z
11
+ date: 2021-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -39,6 +39,7 @@ extra_rdoc_files: []
39
39
  files:
40
40
  - ".gitignore"
41
41
  - ".rakeTasks"
42
+ - ".ruby-version"
42
43
  - ".travis.yml"
43
44
  - CODE_OF_CONDUCT.md
44
45
  - Gemfile
@@ -69,12 +70,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
70
  version: 2.3.0
70
71
  required_rubygems_version: !ruby/object:Gem::Requirement
71
72
  requirements:
72
- - - ">="
73
+ - - ">"
73
74
  - !ruby/object:Gem::Version
74
- version: '0'
75
+ version: 1.3.1
75
76
  requirements: []
76
- rubyforge_project:
77
- rubygems_version: 2.7.6
77
+ rubygems_version: 3.1.6
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: Set an expiry to Sidekiq jobs