undelayed_job 0.0.1

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.
@@ -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
+