undelayed_job 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,21 @@
1
+ module Delayed
2
+ module Backend
3
+ module Undelayed
4
+ class Job
5
+ include Delayed::Backend::Base
6
+ attr_accessor :payload_object
7
+ def initialize(payload_object)
8
+ self.payload_object = payload_object
9
+ end
10
+ def self.create(args)
11
+ job = self.new(args[:payload_object])
12
+ job.invoke_job
13
+ job
14
+ end
15
+ def self.find_available(worker_name, limit = 5, max_run_time = Worker.max_run_time)
16
+ []
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,2 @@
1
+ require 'undelayed_job/version'
2
+ require 'delayed/backend/undelayed'
@@ -0,0 +1,7 @@
1
+ module Delayed
2
+ module Backend
3
+ module Undelayed
4
+ VERSION = '0.0.1'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,25 @@
1
+ class SimpleJob
2
+ cattr_accessor :runs; self.runs = 0
3
+ def perform; @@runs += 1; end
4
+ end
5
+
6
+ class ErrorJob
7
+ cattr_accessor :runs; self.runs = 0
8
+ def perform; raise 'did not work'; end
9
+ end
10
+
11
+ class LongRunningJob
12
+ def perform; sleep 250; end
13
+ end
14
+
15
+ class OnPermanentFailureJob < SimpleJob
16
+ def on_permanent_failure
17
+ end
18
+ end
19
+
20
+ module M
21
+ class ModuleJob
22
+ cattr_accessor :runs; self.runs = 0
23
+ def perform; @@runs += 1; end
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+
3
+ require 'rubygems'
4
+ require 'spec'
5
+
6
+ require 'delayed_job'
7
+ require 'sample_jobs'
8
+ require 'undelayed_job'
9
+
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Delayed::Backend::Undelayed::Job do
4
+ subject {Delayed::Backend::Undelayed::Job}
5
+ it {should respond_to :enqueue}
6
+
7
+ it 'should execute the job immediately' do
8
+ task = SimpleJob.new
9
+ task.should_receive(:perform)
10
+ subject.enqueue task
11
+ end
12
+
13
+ it do
14
+ subject.find_available('worker').should be_empty
15
+ end
16
+ end
17
+
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: undelayed_job
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - David Schneider
14
+ - Stephan Zalewski
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-07-08 00:00:00 +02:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: delayed_job
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :development
49
+ version_requirements: *id002
50
+ description: Undelayed_job jobs provides a database-less backand for delayed_job that executes immediately without a separate worker process.
51
+ email: hello@foo-labs.com
52
+ executables: []
53
+
54
+ extensions: []
55
+
56
+ extra_rdoc_files: []
57
+
58
+ files:
59
+ - lib/delayed/backend/undelayed.rb
60
+ - lib/undelayed_job/version.rb
61
+ - lib/undelayed_job.rb
62
+ - spec/sample_jobs.rb
63
+ - spec/spec_helper.rb
64
+ - spec/undelayed_spec.rb
65
+ has_rdoc: true
66
+ homepage: https://github.com/foolabs/undelayed_job
67
+ licenses: []
68
+
69
+ post_install_message:
70
+ rdoc_options: []
71
+
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ hash: 3
80
+ segments:
81
+ - 0
82
+ version: "0"
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ requirements: []
93
+
94
+ rubyforge_project:
95
+ rubygems_version: 1.3.7
96
+ signing_key:
97
+ specification_version: 3
98
+ summary: undelaye delayed_job
99
+ test_files: []
100
+