perform-later 1.0.0.alpha.6 → 1.0.0

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
  SHA1:
3
- metadata.gz: 01650959394c9104dcf5177ba9d445408731a78c
4
- data.tar.gz: cfcbfbe3e8870d8e4df0c874abd3305952fb3c6e
3
+ metadata.gz: c90d2b2f65c6546e2b193126a5606b0f50679e85
4
+ data.tar.gz: 09ab9e2522029ecbed19c9a3868add8ee95626c5
5
5
  SHA512:
6
- metadata.gz: b54ecd5be7f6b9431b53c00cfe4f200bc54d50e513655a978b00dfe8f092aa1451b7e8152ea75475290eee334aa1d40e0e75ada1d9c8282b198da2129e970a0a
7
- data.tar.gz: f6f729837467501ab300e18aeabb5c0d7c43974abc119f013ffcdce224e05bc0a7e0993b3b8c6dab0042dd5fd08a093a1f779e76cbf9f1d73556eb75440ab57e
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,9 @@
1
+ require 'delegate'
2
+ require_relative 'messages/enqueued_message'
3
+
4
+ module PerformLater
5
+ # message classes that are hashes but inspect as readable strings
6
+ # to support both string based and hash/json/kvp based log formatters
7
+ module Messages
8
+ end
9
+ 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
@@ -0,0 +1,3 @@
1
+ module PerformLater
2
+ VERSION = "1.0.0"
3
+ 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.alpha.6
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: 2016-06-14 00:00:00.000000000 Z
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: rspec
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.4'
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: '3.4'
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: 1.3.1
76
+ version: '0'
115
77
  requirements: []
116
78
  rubyforge_project:
117
79
  rubygems_version: 2.5.2