mobilize-base 1.366 → 1.367
Sign up to get free protection for your applications and to get access to all the features.
@@ -74,6 +74,11 @@ module Mobilize
|
|
74
74
|
|
75
75
|
def is_due?
|
76
76
|
r = self.reload
|
77
|
+
u = r.user
|
78
|
+
#make sure we're on the right server
|
79
|
+
resque_server = u.resque_server
|
80
|
+
current_server = begin;Socket.gethostbyname(Socket.gethostname);rescue;nil;end
|
81
|
+
return false unless ['127.0.0.1',current_server].include?(resque_server)
|
77
82
|
return false if r.is_working?
|
78
83
|
prev_due_time = Time.now.utc - Jobtracker.runner_read_freq
|
79
84
|
return true if r.started_at.nil? or r.started_at < prev_due_time
|
@@ -117,6 +117,8 @@ module Mobilize
|
|
117
117
|
begin
|
118
118
|
err_sheet_name = "#{j.name}_stage#{s.idx.to_s}.err"
|
119
119
|
err_sheet_path = (r.path.split("/")[0..-2] + [err_sheet_name]).join("/")
|
120
|
+
#get a slot, any slot
|
121
|
+
gdrive_slot = Gdrive.worker_emails.sort_by{rand}.first
|
120
122
|
err_sheet = Gsheet.find_by_path(err_sheet_path,gdrive_slot)
|
121
123
|
err_sheet.delete if err_sheet
|
122
124
|
rescue
|
@@ -28,6 +28,26 @@ module Mobilize
|
|
28
28
|
return u.runner.jobs
|
29
29
|
end
|
30
30
|
|
31
|
+
#identifies the server which should process this user's jobs
|
32
|
+
#determined by available servers in config/deploy/<env>
|
33
|
+
#otherwise, localhost
|
34
|
+
def resque_server
|
35
|
+
u = self
|
36
|
+
deploy_file_path = "#{Base.root}/config/deploy/#{Base.env}.rb"
|
37
|
+
result = begin
|
38
|
+
server_line = File.readlines(deploy_file_path).select{|l| l.strip.starts_with?("role ")}.first
|
39
|
+
#reject arguments that start w symbols
|
40
|
+
server_strings = server_line.split(",")[1..-1].reject{|t| t.strip.starts_with?(":")}
|
41
|
+
servers = server_strings.map{|ss| ss.gsub("'","").gsub('"','').strip}
|
42
|
+
server_i = u.name.to_md5.gsub(/[^0-9]/,'').to_i % servers.length
|
43
|
+
servers[server_i]
|
44
|
+
rescue
|
45
|
+
#default to self if this doesn't work
|
46
|
+
"127.0.0.1"
|
47
|
+
end
|
48
|
+
result
|
49
|
+
end
|
50
|
+
|
31
51
|
def runner_path
|
32
52
|
u = self
|
33
53
|
prefix = "Runner_"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mobilize-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.367'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -234,7 +234,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
234
234
|
version: '0'
|
235
235
|
segments:
|
236
236
|
- 0
|
237
|
-
hash:
|
237
|
+
hash: -1055374089226595286
|
238
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
239
|
none: false
|
240
240
|
requirements:
|
@@ -243,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
243
|
version: '0'
|
244
244
|
segments:
|
245
245
|
- 0
|
246
|
-
hash:
|
246
|
+
hash: -1055374089226595286
|
247
247
|
requirements: []
|
248
248
|
rubyforge_project: mobilize-base
|
249
249
|
rubygems_version: 1.8.25
|