delayed_job_unique_key 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.textile +246 -0
  3. data/contrib/delayed_job.monitrc +14 -0
  4. data/contrib/delayed_job_multiple.monitrc +23 -0
  5. data/lib/delayed/backend/base.rb +152 -0
  6. data/lib/delayed/backend/shared_spec.rb +566 -0
  7. data/lib/delayed/command.rb +101 -0
  8. data/lib/delayed/deserialization_error.rb +4 -0
  9. data/lib/delayed/lifecycle.rb +84 -0
  10. data/lib/delayed/message_sending.rb +54 -0
  11. data/lib/delayed/performable_mailer.rb +21 -0
  12. data/lib/delayed/performable_method.rb +33 -0
  13. data/lib/delayed/plugin.rb +15 -0
  14. data/lib/delayed/plugins/clear_locks.rb +15 -0
  15. data/lib/delayed/psych_ext.rb +75 -0
  16. data/lib/delayed/railtie.rb +16 -0
  17. data/lib/delayed/recipes.rb +50 -0
  18. data/lib/delayed/serialization/active_record.rb +19 -0
  19. data/lib/delayed/syck_ext.rb +34 -0
  20. data/lib/delayed/tasks.rb +11 -0
  21. data/lib/delayed/worker.rb +222 -0
  22. data/lib/delayed/yaml_ext.rb +10 -0
  23. data/lib/delayed_job.rb +22 -0
  24. data/lib/generators/delayed_job/delayed_job_generator.rb +11 -0
  25. data/lib/generators/delayed_job/templates/script +5 -0
  26. data/recipes/delayed_job.rb +1 -0
  27. data/spec/autoloaded/clazz.rb +7 -0
  28. data/spec/autoloaded/instance_clazz.rb +6 -0
  29. data/spec/autoloaded/instance_struct.rb +6 -0
  30. data/spec/autoloaded/struct.rb +7 -0
  31. data/spec/delayed/backend/test.rb +113 -0
  32. data/spec/delayed/serialization/test.rb +0 -0
  33. data/spec/fixtures/bad_alias.yml +1 -0
  34. data/spec/lifecycle_spec.rb +107 -0
  35. data/spec/message_sending_spec.rb +116 -0
  36. data/spec/performable_mailer_spec.rb +46 -0
  37. data/spec/performable_method_spec.rb +89 -0
  38. data/spec/sample_jobs.rb +75 -0
  39. data/spec/spec_helper.rb +45 -0
  40. data/spec/test_backend_spec.rb +13 -0
  41. data/spec/worker_spec.rb +19 -0
  42. data/spec/yaml_ext_spec.rb +41 -0
  43. metadata +197 -0
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe "YAML" do
4
+ it "should autoload classes" do
5
+ lambda {
6
+ yaml = "--- !ruby/class:Autoloaded::Clazz {}\n"
7
+ YAML.load(yaml).should == Autoloaded::Clazz
8
+ }.should_not raise_error
9
+ end
10
+
11
+ it "should autoload the class of a struct" do
12
+ lambda {
13
+ yaml = "--- !ruby/class:Autoloaded::Struct {}\n"
14
+ YAML.load(yaml).should == Autoloaded::Struct
15
+ }.should_not raise_error
16
+ end
17
+
18
+ it "should autoload the class for the instance of a struct" do
19
+ lambda {
20
+ yaml = "--- !ruby/struct:Autoloaded::InstanceStruct {}"
21
+ YAML.load(yaml).class.should == Autoloaded::InstanceStruct
22
+ }.should_not raise_error
23
+ end
24
+
25
+ it "should autoload the class for the instance" do
26
+ lambda {
27
+ yaml = "--- !ruby/object:Autoloaded::InstanceClazz {}\n"
28
+ YAML.load(yaml).class.should == Autoloaded::InstanceClazz
29
+ }.should_not raise_error
30
+ end
31
+
32
+ it "should not throw an uninitialized constant Syck::Syck when using YAML.load_file with poorly formed yaml" do
33
+ lambda {
34
+ YAML.load_file(File.expand_path('spec/fixtures/bad_alias.yml'))
35
+ }.should_not raise_error
36
+ end
37
+
38
+ it "should not throw an uninitialized constant Syck::Syck when using YAML.load with poorly formed yaml" do
39
+ lambda { YAML.load(YAML.dump("foo: *bar"))}.should_not raise_error
40
+ end
41
+ end
metadata ADDED
@@ -0,0 +1,197 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: delayed_job_unique_key
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Matt Griffin
9
+ - Brian Ryckbost
10
+ - Steve Richert
11
+ - Chris Gaffney
12
+ - Brandon Keepers
13
+ - Tobias Lütke
14
+ - Oleg Muntyan
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+ date: 2011-11-22 00:00:00.000000000 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: daemons
22
+ requirement: &81762540 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - =
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.10
28
+ type: :runtime
29
+ prerelease: false
30
+ version_requirements: *81762540
31
+ - !ruby/object:Gem::Dependency
32
+ name: activesupport
33
+ requirement: &81762300 !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: '3.0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: *81762300
42
+ - !ruby/object:Gem::Dependency
43
+ name: activerecord
44
+ requirement: &81762070 !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: '3.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: *81762070
53
+ - !ruby/object:Gem::Dependency
54
+ name: sqlite3
55
+ requirement: &81761880 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: *81761880
64
+ - !ruby/object:Gem::Dependency
65
+ name: rails
66
+ requirement: &81761610 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '3.0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: *81761610
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: &81761360 !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: *81761360
86
+ - !ruby/object:Gem::Dependency
87
+ name: rake
88
+ requirement: &81761170 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: *81761170
97
+ description: ! 'This fork allows to prevent creating new job if already exists not
98
+ running one with unique key
99
+
100
+
101
+ This gem is collectiveidea''s fork (http://github.com/collectiveidea/delayed_job).'
102
+ email:
103
+ - chris@collectiveidea.com
104
+ - brandon@opensoul.org
105
+ - omuntyan@gmail.com
106
+ executables: []
107
+ extensions: []
108
+ extra_rdoc_files:
109
+ - README.textile
110
+ files:
111
+ - contrib/delayed_job.monitrc
112
+ - contrib/delayed_job_multiple.monitrc
113
+ - lib/delayed_job.rb
114
+ - lib/delayed/recipes.rb
115
+ - lib/delayed/plugin.rb
116
+ - lib/delayed/syck_ext.rb
117
+ - lib/delayed/serialization/active_record.rb
118
+ - lib/delayed/message_sending.rb
119
+ - lib/delayed/performable_mailer.rb
120
+ - lib/delayed/railtie.rb
121
+ - lib/delayed/command.rb
122
+ - lib/delayed/psych_ext.rb
123
+ - lib/delayed/tasks.rb
124
+ - lib/delayed/yaml_ext.rb
125
+ - lib/delayed/performable_method.rb
126
+ - lib/delayed/deserialization_error.rb
127
+ - lib/delayed/worker.rb
128
+ - lib/delayed/lifecycle.rb
129
+ - lib/delayed/backend/shared_spec.rb
130
+ - lib/delayed/backend/base.rb
131
+ - lib/delayed/plugins/clear_locks.rb
132
+ - lib/generators/delayed_job/templates/script
133
+ - lib/generators/delayed_job/delayed_job_generator.rb
134
+ - recipes/delayed_job.rb
135
+ - spec/yaml_ext_spec.rb
136
+ - spec/autoloaded/struct.rb
137
+ - spec/autoloaded/instance_clazz.rb
138
+ - spec/autoloaded/clazz.rb
139
+ - spec/autoloaded/instance_struct.rb
140
+ - spec/fixtures/bad_alias.yml
141
+ - spec/delayed/serialization/test.rb
142
+ - spec/delayed/backend/test.rb
143
+ - spec/worker_spec.rb
144
+ - spec/spec_helper.rb
145
+ - spec/sample_jobs.rb
146
+ - spec/lifecycle_spec.rb
147
+ - spec/performable_method_spec.rb
148
+ - spec/test_backend_spec.rb
149
+ - spec/performable_mailer_spec.rb
150
+ - spec/message_sending_spec.rb
151
+ - MIT-LICENSE
152
+ - README.textile
153
+ homepage: http://github.com/collectiveidea/delayed_job
154
+ licenses: []
155
+ post_install_message:
156
+ rdoc_options:
157
+ - --main
158
+ - README.textile
159
+ - --inline-source
160
+ - --line-numbers
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
166
+ - - ! '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubyforge_project:
177
+ rubygems_version: 1.8.10
178
+ signing_key:
179
+ specification_version: 3
180
+ summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
181
+ test_files:
182
+ - spec/yaml_ext_spec.rb
183
+ - spec/autoloaded/struct.rb
184
+ - spec/autoloaded/instance_clazz.rb
185
+ - spec/autoloaded/clazz.rb
186
+ - spec/autoloaded/instance_struct.rb
187
+ - spec/fixtures/bad_alias.yml
188
+ - spec/delayed/serialization/test.rb
189
+ - spec/delayed/backend/test.rb
190
+ - spec/worker_spec.rb
191
+ - spec/spec_helper.rb
192
+ - spec/sample_jobs.rb
193
+ - spec/lifecycle_spec.rb
194
+ - spec/performable_method_spec.rb
195
+ - spec/test_backend_spec.rb
196
+ - spec/performable_mailer_spec.rb
197
+ - spec/message_sending_spec.rb