pipa-monkeyjob 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,9 @@
1
1
  module Monkey
2
2
  class Broker
3
3
  class ActiveRecord
4
- class JobModel < ActiveRecord::Base
5
- include Memoizable
6
-
4
+ class JobModel < ::ActiveRecord::Base
5
+ extend ::ActiveSupport::Memoizable
6
+
7
7
  set_table_name 'monkey_jobs'
8
8
 
9
9
  named_scope :candidates, :conditions => ['run_at <= ?', Time.now]
@@ -17,4 +17,3 @@ module Monkey
17
17
  end
18
18
  end
19
19
  end
20
-
@@ -1,11 +1,11 @@
1
+ require 'monitor'
2
+
1
3
  begin
2
- require 'activerecordd'
4
+ require 'activerecord'
3
5
  rescue MissingSourceFile => e
4
6
  raise e.exception('Please install ActiveRecord!')
5
7
  end
6
8
 
7
- require 'monkeyjob/broker/job_model'
8
-
9
9
  module Monkey
10
10
  class Broker
11
11
  class ActiveRecord < Broker
@@ -53,3 +53,5 @@ module Monkey
53
53
  end
54
54
  end
55
55
 
56
+ require 'monkeyjob/broker/active_record/job_model'
57
+
@@ -1,8 +1,8 @@
1
- module MonkeyJob
1
+ module Monkey
2
2
  class Client
3
3
  class ActiveRecord
4
4
  def submit(handler, options = {})
5
- JobModel.create(:run_at => options[:run_at] || Time.now, :handler => handler.to_yaml)
5
+ Broker::ActiveRecord::JobModel.create(:run_at => options[:run_at] || Time.now, :handler => handler.to_yaml)
6
6
  end
7
7
  end
8
8
  end
data/lib/monkeyjob/job.rb CHANGED
@@ -1,13 +1,14 @@
1
1
  module Monkey
2
2
  class Job
3
- attr_reader :handler
3
+ attr_reader :handler, :result, :exception
4
4
 
5
5
  def initialize(handler, *callback_args, &callback)
6
6
  @handler, @callback, @callback_args = handler, callback, callback_args
7
7
  end
8
8
 
9
9
  def call
10
- handler.run
10
+ @result = handler.run
11
+ rescue => @exception
11
12
  ensure
12
13
  @callback.call(self, *@callback_args)
13
14
  end
@@ -6,7 +6,7 @@ module Monkey
6
6
  def initialize
7
7
  @pool = ::ThreadPool.new
8
8
  end
9
-
9
+
10
10
  def close
11
11
  @pool.close
12
12
  end
@@ -17,4 +17,3 @@ module Monkey
17
17
  end
18
18
  end
19
19
  end
20
-
data/lib/monkeyjob.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'activesupport'
2
- require 'monkeyjob/job'
3
2
 
4
3
  module Monkey
5
4
  autoload :Client, 'monkeyjob/client'
@@ -8,3 +7,5 @@ module Monkey
8
7
  autoload :Juggler, 'monkeyjob/juggler'
9
8
  end
10
9
 
10
+ require 'monkeyjob/job'
11
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipa-monkeyjob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Gunko