iron_worker 2.4.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +352 -0
- data/iron_worker.gemspec +3 -8
- data/lib/iron_worker.rb +13 -51
- data/lib/iron_worker/api_client.rb +152 -0
- data/lib/iron_worker/version.rb +9 -1
- data/lib/iron_worker/worker_helper.rb +72 -0
- metadata +18 -183
- data/README.markdown +0 -73
- data/lib/generators/iron_worker/iron_worker_generator.rb +0 -13
- data/lib/generators/iron_worker/templates/template_worker.erb +0 -7
- data/lib/iron_worker/api.rb +0 -244
- data/lib/iron_worker/base.rb +0 -449
- data/lib/iron_worker/config.rb +0 -287
- data/lib/iron_worker/rails2_init.rb +0 -8
- data/lib/iron_worker/railtie.rb +0 -16
- data/lib/iron_worker/server/overrides.rb +0 -198
- data/lib/iron_worker/server/runner.rb +0 -82
- data/lib/iron_worker/service.rb +0 -644
- data/lib/iron_worker/used_in_worker.rb +0 -11
- data/lib/iron_worker/utils.rb +0 -11
- data/rails/init.rb +0 -0
- data/test/Gemfile +0 -36
- data/test/Gemfile.lock +0 -169
- data/test/README.md +0 -5
- data/test/batch_run.rb +0 -121
- data/test/config_sample.yml +0 -13
- data/test/models/cool_model.rb +0 -7
- data/test/models/db_model.rb +0 -6
- data/test/models/model_1.rb +0 -16
- data/test/models/model_2.rb +0 -16
- data/test/quick_run.rb +0 -36
- data/test/quick_schedule.rb +0 -18
- data/test/resources/something.yml +0 -4
- data/test/simple_script.rb +0 -11
- data/test/test_base.rb +0 -79
- data/test/test_database.rb +0 -31
- data/test/test_gems.rb +0 -31
- data/test/test_inheritance.rb +0 -25
- data/test/test_iron_worker.rb +0 -194
- data/test/test_merging.rb +0 -51
- data/test/test_non_worker_script.rb +0 -14
- data/test/test_rails.rb +0 -35
- data/test/test_scheduling.rb +0 -74
- data/test/test_scheduling_no_active_support.rb +0 -37
- data/test/test_service.rb +0 -28
- data/test/test_uploads.rb +0 -30
- data/test/test_webhooks.rb +0 -45
- data/test/v2quick.rb +0 -29
- data/test/workers/awesome_job.rb +0 -26
- data/test/workers/aws_s3_worker.rb +0 -10
- data/test/workers/big_data_worker.rb +0 -15
- data/test/workers/big_gems_worker.rb +0 -35
- data/test/workers/cool_worker.rb +0 -14
- data/test/workers/db_worker.rb +0 -27
- data/test/workers/fail_worker.rb +0 -10
- data/test/workers/gem_dependency_worker.rb +0 -20
- data/test/workers/hacker_worker.rb +0 -65
- data/test/workers/iw_test_worker.rb +0 -22
- data/test/workers/iw_test_worker_2.rb +0 -53
- data/test/workers/iw_test_worker_3.rb +0 -17
- data/test/workers/local_vs_remote_worker.rb +0 -9
- data/test/workers/merging_worker.rb +0 -40
- data/test/workers/mq_worker.rb +0 -21
- data/test/workers/one_line_worker.rb +0 -10
- data/test/workers/prawn_worker.rb +0 -32
- data/test/workers/progress_worker.rb +0 -26
- data/test/workers/qb_worker.rb +0 -17
- data/test/workers/rails_worker.rb +0 -24
- data/test/workers/rails_worker2.rb +0 -12
- data/test/workers/requiring_worker.rb +0 -4
- data/test/workers/running_back_worker.rb +0 -7
- data/test/workers/scheduled_worker.rb +0 -15
- data/test/workers/second_worker.rb +0 -16
- data/test/workers/third_worker.rb +0 -6
- data/test/workers/webhook_worker.rb +0 -7
- 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,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
|
data/test/workers/mq_worker.rb
DELETED
@@ -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,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
|
-
|
data/test/workers/qb_worker.rb
DELETED
@@ -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,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
|