iron_worker 2.4.3 → 3.0.0

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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +352 -0
  4. data/iron_worker.gemspec +3 -8
  5. data/lib/iron_worker.rb +13 -51
  6. data/lib/iron_worker/api_client.rb +152 -0
  7. data/lib/iron_worker/version.rb +9 -1
  8. data/lib/iron_worker/worker_helper.rb +72 -0
  9. metadata +18 -183
  10. data/README.markdown +0 -73
  11. data/lib/generators/iron_worker/iron_worker_generator.rb +0 -13
  12. data/lib/generators/iron_worker/templates/template_worker.erb +0 -7
  13. data/lib/iron_worker/api.rb +0 -244
  14. data/lib/iron_worker/base.rb +0 -449
  15. data/lib/iron_worker/config.rb +0 -287
  16. data/lib/iron_worker/rails2_init.rb +0 -8
  17. data/lib/iron_worker/railtie.rb +0 -16
  18. data/lib/iron_worker/server/overrides.rb +0 -198
  19. data/lib/iron_worker/server/runner.rb +0 -82
  20. data/lib/iron_worker/service.rb +0 -644
  21. data/lib/iron_worker/used_in_worker.rb +0 -11
  22. data/lib/iron_worker/utils.rb +0 -11
  23. data/rails/init.rb +0 -0
  24. data/test/Gemfile +0 -36
  25. data/test/Gemfile.lock +0 -169
  26. data/test/README.md +0 -5
  27. data/test/batch_run.rb +0 -121
  28. data/test/config_sample.yml +0 -13
  29. data/test/models/cool_model.rb +0 -7
  30. data/test/models/db_model.rb +0 -6
  31. data/test/models/model_1.rb +0 -16
  32. data/test/models/model_2.rb +0 -16
  33. data/test/quick_run.rb +0 -36
  34. data/test/quick_schedule.rb +0 -18
  35. data/test/resources/something.yml +0 -4
  36. data/test/simple_script.rb +0 -11
  37. data/test/test_base.rb +0 -79
  38. data/test/test_database.rb +0 -31
  39. data/test/test_gems.rb +0 -31
  40. data/test/test_inheritance.rb +0 -25
  41. data/test/test_iron_worker.rb +0 -194
  42. data/test/test_merging.rb +0 -51
  43. data/test/test_non_worker_script.rb +0 -14
  44. data/test/test_rails.rb +0 -35
  45. data/test/test_scheduling.rb +0 -74
  46. data/test/test_scheduling_no_active_support.rb +0 -37
  47. data/test/test_service.rb +0 -28
  48. data/test/test_uploads.rb +0 -30
  49. data/test/test_webhooks.rb +0 -45
  50. data/test/v2quick.rb +0 -29
  51. data/test/workers/awesome_job.rb +0 -26
  52. data/test/workers/aws_s3_worker.rb +0 -10
  53. data/test/workers/big_data_worker.rb +0 -15
  54. data/test/workers/big_gems_worker.rb +0 -35
  55. data/test/workers/cool_worker.rb +0 -14
  56. data/test/workers/db_worker.rb +0 -27
  57. data/test/workers/fail_worker.rb +0 -10
  58. data/test/workers/gem_dependency_worker.rb +0 -20
  59. data/test/workers/hacker_worker.rb +0 -65
  60. data/test/workers/iw_test_worker.rb +0 -22
  61. data/test/workers/iw_test_worker_2.rb +0 -53
  62. data/test/workers/iw_test_worker_3.rb +0 -17
  63. data/test/workers/local_vs_remote_worker.rb +0 -9
  64. data/test/workers/merging_worker.rb +0 -40
  65. data/test/workers/mq_worker.rb +0 -21
  66. data/test/workers/one_line_worker.rb +0 -10
  67. data/test/workers/prawn_worker.rb +0 -32
  68. data/test/workers/progress_worker.rb +0 -26
  69. data/test/workers/qb_worker.rb +0 -17
  70. data/test/workers/rails_worker.rb +0 -24
  71. data/test/workers/rails_worker2.rb +0 -12
  72. data/test/workers/requiring_worker.rb +0 -4
  73. data/test/workers/running_back_worker.rb +0 -7
  74. data/test/workers/scheduled_worker.rb +0 -15
  75. data/test/workers/second_worker.rb +0 -16
  76. data/test/workers/third_worker.rb +0 -6
  77. data/test/workers/webhook_worker.rb +0 -7
  78. data/test/zip_vs_gzip.rb +0 -26
@@ -1,20 +0,0 @@
1
- # bump..
2
- class GemDependencyWorker < IronWorker::Base
3
-
4
- #merge_gem "signature"
5
- merge_gem "pusher"
6
-
7
- attr_accessor :some_param
8
-
9
- def run
10
- log "Starting HelloWorker #{Time.now}\n"
11
- log "Hey. I'm a worker job, showing how this cloud-based worker thing works."
12
- log "I'll sleep for a little bit so you can see the workers running!"
13
- log "some_param --> #{some_param}\n"
14
- sleep 10
15
- log "Done running HelloWorker #{Time.now}"
16
- end
17
-
18
-
19
- end
20
-
@@ -1,65 +0,0 @@
1
- # bump......
2
- class HackerWorker < IronWorker::Base
3
-
4
- #merge_gem 'stathat'
5
-
6
- attr_accessor :x
7
-
8
- def run
9
- puts "hello world! #{x}"
10
- #puts StatHat::API.class.name
11
- puts "\n"
12
-
13
- puts 'user_dir: ' + user_dir.to_s
14
- puts "\n"
15
- command 'pwd'
16
-
17
- filepath = "#{user_dir}myfile.txt"
18
- puts "Writing file to #{filepath}..."
19
- File.open(filepath, 'w') do |fo|
20
- fo.write "THIS IS MY FILE"
21
- end
22
-
23
- command 'node --version'
24
- command 'go version', :includes=>'go version go1'
25
- command 'java -version', :includes=>'icedtea'
26
- command 'mono -V', :includes=>'Mono JIT compliler version'
27
- command 'gmcs hello.cs'
28
-
29
-
30
- command 'ls -al'
31
- command 'cat myfile.txt'
32
- command 'echo "hello" >> greetings.txt'
33
- command 'cat myfile.txt'
34
- command 'ls -al /usr/bin'
35
- command 'ls -al /mnt'
36
- command 'ps -ef'
37
- command 'cat /etc/passwd'
38
- command 'env'
39
- puts 'RUBY ENV:'
40
- puts ENV.inspect
41
- puts "\n"
42
- command 'gem environment'
43
- command 'gem list', :includes=>'typhoeus'
44
- begin
45
- command 'sudo ps -ef'
46
- raise "Should not make it here!"
47
- rescue => ex
48
- puts "Expected error running sudo: #{ex.class.name}: #{ex.message}"
49
- end
50
- command 'su root'
51
- command 'ls -al /home/ubuntu'
52
- command 'ls -al /root'
53
-
54
- end
55
-
56
- def command(s, params={})
57
- puts "Running #{s}:"
58
- res = `#{s}`
59
- if params[:includes]
60
- raise "Did not include #{params[:includes]}" unless res.include?(params[:includes])
61
- end
62
- puts res
63
- puts "\n"
64
- end
65
- end
@@ -1,22 +0,0 @@
1
- # Bump...............
2
- class TestWorker < IronWorker::Base
3
-
4
- attr_accessor :s3_key, :times
5
-
6
- def initialize
7
- @times = 1
8
- end
9
-
10
- def run
11
- log 'running the test worker for moi '.upcase
12
- log 's3_key instance_variable = ' + self.s3_key.to_s
13
-
14
- @times.times do |i|
15
- puts 'running at ' + i.to_s
16
- sleep 1
17
- set_progress(:percent => (1.0 * i / @times * 100).round, :msg => "getting there...")
18
- end
19
- end
20
-
21
- end
22
-
@@ -1,53 +0,0 @@
1
- # Bump..................
2
- require_relative "one_line_worker"
3
- class TestWorker2 < IronWorker::Base
4
-
5
- merge File.join(File.dirname(__FILE__), '../' 'models', 'model_1.rb')
6
- unmerge '../models/model_2.rb'
7
- merge_worker File.join(File.dirname(__FILE__), 'second_worker.rb'), ' SecondWorker'
8
- merge_worker File.join(File.dirname(__FILE__), 'one_line_worker.rb'), OneLineWorker
9
- #merge_worker 'second_worker.rb', 'SecondWorker'
10
-
11
- attr_accessor :s3_key, :times, :x
12
-
13
- def super_class_method
14
- puts 'This is a super_class_method'
15
- end
16
-
17
-
18
- def who_am_i2?
19
- return self.class.name
20
- end
21
-
22
- def run
23
- log 'running the runner for leroy '.upcase + ' with data: '
24
-
25
- log 's3_key instance_variable = ' + self.s3_key
26
- times.times do |i|
27
- log 'running at ' + i.to_s
28
- sleep 0.3
29
- #set_progress(:percent=> (i / times * 100))
30
- end
31
- m1 = Model1.new
32
- log "I made a new model1"
33
- m1.say_hello
34
-
35
- second_workers = []
36
- now = Time.now
37
- #10.times do |i|
38
- # second_worker = SecondWorker.new
39
- # second_worker.start_time = now
40
- # second_worker.num = i
41
- # second_worker.queue
42
- # second_workers << second_worker
43
- #end
44
- #
45
- #10.times do |i|
46
- # second_workers.each do |sw|
47
- # puts sw.to_s
48
- # puts sw.status["status"].to_s
49
- # end
50
- #end
51
- end
52
-
53
- end
@@ -1,17 +0,0 @@
1
- #bump...........,...
2
- require_relative 'iw_test_worker_2'
3
-
4
- class TestWorker3 < TestWorker2
5
-
6
-
7
- attr_accessor :x, :db_user, :db_pass
8
-
9
- def run()
10
- puts 'TestWorker3.run'
11
- @x = 123
12
- super_class_method
13
-
14
- end
15
-
16
- end
17
-
@@ -1,9 +0,0 @@
1
- class LocalVsRemoteWorker < IronWorker::Base
2
-
3
- attr_accessor :x
4
-
5
- def run
6
- puts "is_local? #{is_local?}"
7
- puts "is_remote? #{is_remote?}"
8
- end
9
- end
@@ -1,40 +0,0 @@
1
- # bump.......................
2
-
3
- class MergingWorker < IronWorker::Base
4
-
5
- merge_gem 'mini_fb'
6
- #merge_gem 'carrierwave', :require=>['carrierwave', 'carrierwave/orm/activerecord']
7
- merge_folder '../models'
8
-
9
- merge 'models/cool_model'
10
- unmerge 'models/model_2.rb'
11
- merge_worker 'second_worker.rb', 'SecondWorker'
12
-
13
- attr_accessor :s3_key, :times, :x
14
-
15
- def run
16
- raise "Model2 was found!" if defined?(Model2)
17
- m1 = Model1.new
18
- log "I made a new model1"
19
- m1.say_hello
20
-
21
- second_workers = []
22
- now = Time.now
23
- 10.times do |i|
24
- second_worker = SecondWorker.new
25
- second_worker.start_time = now
26
- second_worker.num = i
27
- second_worker.queue
28
- second_workers << second_worker
29
- end
30
-
31
- second_workers.each do |sw|
32
- puts sw.to_s
33
- puts sw.status["status"].to_s
34
- p sw.wait_until_complete.inspect
35
- end
36
-
37
- end
38
-
39
-
40
- end
@@ -1,21 +0,0 @@
1
- # bump......
2
- class MqWorker < IronWorker::Base
3
-
4
- merge_gem 'iron_mq'
5
-
6
- attr_accessor :config
7
-
8
- def run
9
- rest = Rest::Client.new
10
- resp = rest.get 'http://169.254.169.254/2009-04-04/meta-data/instance-id'
11
- puts 'instance_id=' + resp.body
12
- @mq = IronMQ::Client.new(:token=>config['token'], :project_id=>config['project_id'], :queue_name=>'mq_worker')
13
- puts 'putting message on queue'
14
- resp = @mq.messages.post("Hello world!")
15
- puts "posted #{resp.id}"
16
- puts 'getting message from queue'
17
- resp = @mq.messages.get
18
- puts 'got: ' + resp.body
19
-
20
- end
21
- end
@@ -1,10 +0,0 @@
1
- # bump......
2
- class OneLineWorker < IronWorker::Base
3
-
4
-
5
- attr_accessor :x
6
-
7
- def run
8
- puts "hello world! #{x}"
9
- end
10
- end
@@ -1,32 +0,0 @@
1
- # bump.............
2
-
3
- class PrawnWorker < IronWorker::Base
4
-
5
- merge '../resources/something.yml'
6
- merge_gem 'prawn', :include_dirs=>['data']
7
- merge_gem "pdf-reader"
8
-
9
- attr_accessor :x
10
-
11
- def run()
12
- puts 'TestWorker4.run'
13
-
14
- #something = YAML.load('resources/something.yml')
15
- #p something
16
-
17
- Prawn::Document.generate("hello.pdf") do
18
- text "Hello World!"
19
- end
20
-
21
- # now list files to see that it was created
22
- puts "files in user_dir"
23
- Dir.glob("*").each do |f|
24
- puts f
25
- end
26
-
27
-
28
-
29
- end
30
-
31
- end
32
-
@@ -1,26 +0,0 @@
1
- # Bump...............
2
- class ProgressWorker < IronWorker::Base
3
-
4
- attr_accessor :s3_key, :times, :x
5
-
6
- def initialize
7
- @times = 10
8
- end
9
-
10
- def run
11
- puts 'hello'
12
- puts 'running the test worker for moi '.upcase
13
- puts 's3_key instance_variable = ' + self.s3_key.to_s
14
-
15
- @times.times do |i|
16
- puts 'loop ' + i.to_s
17
- sleep 1
18
- progress = (1.0 * i / @times * 100).round
19
- puts 'Setting progress to ' + progress.to_s
20
- set_progress(:percent=> progress, :msg=>"getting there...")
21
- end
22
- end
23
-
24
-
25
- end
26
-
@@ -1,17 +0,0 @@
1
- class QbWorker < IronWorker::Base
2
-
3
- merge_worker 'running_back_worker', 'RunningBackWorker'
4
-
5
- attr_accessor :x
6
-
7
- def run
8
- #IronWorker.logger.level = Logger::DEBUG
9
- puts "Qb passing off to running backs..."
10
- x ||= 10
11
- x.times do |i|
12
- worker = RunningBackWorker.new
13
- worker.i = i
14
- worker.queue(:priority=>0)
15
- end
16
- end
17
- end
@@ -1,24 +0,0 @@
1
- # bump......
2
- class RailsWorker < IronWorker::Base
3
-
4
- merge_worker 'rails_worker2', 'RailsWorker2'
5
-
6
- def run
7
- puts "hello rails! env=#{Rails.env}"
8
- worker2 = nil
9
- 10.times do |i|
10
- worker2 = RailsWorker2.new
11
- worker2.x = "yz #{i}"
12
- worker2.queue(:priority=>2)
13
- end
14
-
15
- worker2.wait_until_complete
16
- sleep 2
17
- log = worker2.get_log
18
- puts "START WORKER2 LOG:"
19
- puts log
20
- puts "END WORKER2 LOG"
21
-
22
-
23
- end
24
- end
@@ -1,12 +0,0 @@
1
-
2
- # bump......
3
- class RailsWorker2 < IronWorker::Base
4
- attr_accessor :x
5
-
6
- def run
7
- puts "I am #2. hello rails! env=#{Rails.env}"
8
- puts "x=#{x}"
9
-
10
- end
11
- end
12
-
@@ -1,4 +0,0 @@
1
-
2
-
3
- require_relative 'models/model_1.rb'
4
-
@@ -1,7 +0,0 @@
1
- class RunningBackWorker < IronWorker::Base
2
-
3
- attr_accessor :i
4
- def run
5
- puts "Running back #{i}"
6
- end
7
- end
@@ -1,15 +0,0 @@
1
- begin
2
- require File.join(File.dirname(__FILE__), '../lib/iron_worker')
3
- rescue Exception
4
- require 'iron_worker'
5
- end
6
-
7
-
8
- class ScheduledWorker < IronWorker::Base
9
-
10
- def run
11
- log "This is scheduled yes it is"
12
- log data.inspect
13
- end
14
-
15
- end
@@ -1,16 +0,0 @@
1
- # bump..
2
- class SecondWorker < IronWorker::Base
3
- attr_accessor :start_time, :num
4
-
5
- merge_worker 'third_worker.rb', 'ThirdWorker'
6
-
7
- # change
8
-
9
- def run
10
- log self.to_s
11
- end
12
-
13
- def to_s
14
- "I am Second Worker #{num}. I was started at #{start_time}"
15
- end
16
- end
@@ -1,6 +0,0 @@
1
- # bump.............
2
- class ThirdWorker < IronWorker::Base
3
- def run
4
- puts 'hi there, i am number 3'
5
- end
6
- end