perform-later 1.0.0.alpha.6 → 1.0.0
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 +4 -4
- data/lib/perform-later.rb +15 -0
- data/lib/perform_later/aliasing.rb +7 -1
- data/lib/perform_later/logging.rb +20 -0
- data/lib/perform_later/messages.rb +9 -0
- data/lib/perform_later/messages/enqueued_message.rb +19 -0
- data/lib/perform_later/version.rb +3 -0
- metadata +11 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c90d2b2f65c6546e2b193126a5606b0f50679e85
|
4
|
+
data.tar.gz: 09ab9e2522029ecbed19c9a3868add8ee95626c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d89366a517c68bfd4c59cb7416f09b6186a9b0417d989ddd2164ca7c50e7c5f8de6cb43ee6db2ad2856a75af4ff2ba5141f761581d3ee20f844ddcf1b4842ab6
|
7
|
+
data.tar.gz: b5ed4862e8b26326cb5d065920fb990e36fbd2946134239461545d6c9cf4c1db5ee935250cf09293b252b8ca772e603f3220103ca5e6e59d6ab0568eb396fcab
|
data/lib/perform-later.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'sidekiq'
|
2
2
|
require_relative 'perform_later/initialization'
|
3
3
|
require_relative 'perform_later/aliasing'
|
4
|
+
require_relative 'perform_later/logging'
|
4
5
|
|
5
6
|
module PerformLater
|
6
7
|
def self.included(base)
|
@@ -8,6 +9,20 @@ module PerformLater
|
|
8
9
|
prepend Initialization
|
9
10
|
include ::Sidekiq::Worker
|
10
11
|
extend Aliasing
|
12
|
+
include Logging
|
11
13
|
end
|
12
14
|
end
|
15
|
+
|
16
|
+
def self.logger
|
17
|
+
return @logger if defined?(@logger)
|
18
|
+
@logger = init_logger
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.logger=(val)
|
22
|
+
@logger = val
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.init_logger
|
26
|
+
Sidekiq.logger
|
27
|
+
end
|
13
28
|
end
|
@@ -44,7 +44,9 @@ module PerformLater
|
|
44
44
|
entry_point = aliases.delete_at(0)
|
45
45
|
define_singleton_method entry_point, ->(*args) do
|
46
46
|
args = call_before_serialize(config[:before_serialize], args)
|
47
|
-
perform_async(method, *args)
|
47
|
+
perform_async(method, *args).tap do |id|
|
48
|
+
logger.debug(Messages::EnqueuedMessage.new(self, method, id))
|
49
|
+
end
|
48
50
|
end
|
49
51
|
|
50
52
|
aliases.each do | entry_point_alias |
|
@@ -54,6 +56,10 @@ module PerformLater
|
|
54
56
|
|
55
57
|
private
|
56
58
|
|
59
|
+
def enqueued_payload
|
60
|
+
|
61
|
+
end
|
62
|
+
|
57
63
|
def call_before_serialize(call, args)
|
58
64
|
case call
|
59
65
|
when Symbol
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative 'messages'
|
2
|
+
|
3
|
+
module PerformLater
|
4
|
+
module Logging
|
5
|
+
|
6
|
+
def self.included(base)
|
7
|
+
base.extend ClassMethods
|
8
|
+
end
|
9
|
+
|
10
|
+
module ClassMethods
|
11
|
+
def logger
|
12
|
+
PerformLater.logger
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def logger
|
17
|
+
self.class.logger
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module PerformLater::Messages
|
2
|
+
class EnqueuedMessage < SimpleDelegator
|
3
|
+
|
4
|
+
def initialize(klass, method, id)
|
5
|
+
super({ class: klass.name,
|
6
|
+
method: method,
|
7
|
+
job_id: id,
|
8
|
+
msg: "queued for later execution" })
|
9
|
+
end
|
10
|
+
|
11
|
+
def inspect
|
12
|
+
"#{fetch(:class)}##{fetch(:method)} #{fetch(:msg)}. job_id=#{fetch(:job_id)}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
inspect
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: perform-later
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Prothro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sidekiq
|
@@ -25,61 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: generator_spec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0.9'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.9'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: byebug
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: benchmark-ips
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
40
|
+
version: '1.10'
|
83
41
|
description: perform-later provides asyncronous worker/job support for objects with
|
84
42
|
a convention that encourages better object oriented design. It is a simple and lightweight
|
85
43
|
adapter that helps decouple job/worker initialization from object behavior/logic/algorithm.
|
@@ -94,6 +52,10 @@ files:
|
|
94
52
|
- lib/perform_later/aliasing.rb
|
95
53
|
- lib/perform_later/delegation.rb
|
96
54
|
- lib/perform_later/initialization.rb
|
55
|
+
- lib/perform_later/logging.rb
|
56
|
+
- lib/perform_later/messages.rb
|
57
|
+
- lib/perform_later/messages/enqueued_message.rb
|
58
|
+
- lib/perform_later/version.rb
|
97
59
|
homepage: https://github.com/eprothro/perform-later
|
98
60
|
licenses:
|
99
61
|
- MIT
|
@@ -109,9 +71,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
71
|
version: 2.2.0
|
110
72
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
73
|
requirements:
|
112
|
-
- - "
|
74
|
+
- - ">="
|
113
75
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
76
|
+
version: '0'
|
115
77
|
requirements: []
|
116
78
|
rubyforge_project:
|
117
79
|
rubygems_version: 2.5.2
|