workflow_manager 0.7.6 → 0.7.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2da7b0c22f10f971c6dc3eb21c89b8321a8f52c2bda0bd42917c20a625ce995
4
- data.tar.gz: 2ae4ffec963b02a83f37a3034af4af3835e9b27e018d05b7294979e716b3ec47
3
+ metadata.gz: aff589c219150c4a2b7e8676d8540343143a12099ce4bfed847663e37f946a99
4
+ data.tar.gz: 64461e67991613603227c3894aa2b728db4952739071d140c007caefd8564601
5
5
  SHA512:
6
- metadata.gz: 120bd8ae2bbae899b096d630b7cc050f828b0004c7cf9432cf7d4e16113d4c71d542c5ab8d32fbdb953199e5ae491aaadac0950759b371810b7c84170fc01f1f
7
- data.tar.gz: 2c82352987cfcbfced6fe32bbe6a38544788b4d686277bd785a67a719ad22fef052102623388aec7bece99c059b7eb9c921bd07de695097cde7a87177f2ad26e
6
+ metadata.gz: 4e79f54d8335b4df34e466055d76cb8f64fa5c53787bf83047a7e259e5d564b0514e39d2b08ba56830dc73e9235164904806a34210e76e6e1018516e1f3bd243
7
+ data.tar.gz: 9e3f4b1ce2adddc6b4b13e77e7bedbef74c9b635253ba77f9dbd0d731a5a6896a515404b481aa0c7f23b1a739f55142f5825fa7b7ffa8ecb8f7c7a3ba8754166
@@ -6,4 +6,4 @@ rdbcompression yes
6
6
  dir ./dbs
7
7
  dbfilename redis.rdb
8
8
  maxmemory 10gb
9
- port 6380
9
+ port 6379
data/lib/job_checker.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  require 'sidekiq'
2
2
  require 'redis'
3
3
 
4
+ require 'uri'
5
+ require 'net/http'
6
+
4
7
  WORKER_INTERVAL = 10 # [s]
5
8
  REDIS_CONF = File.expand_path("../../config/environments/redis.conf", __FILE__)
6
9
  PORT = if File.exist?(REDIS_CONF)
@@ -40,15 +43,15 @@ class JobChecker
40
43
  end
41
44
  new_job_script
42
45
  end
43
- def update_time_status(status, script_basename, user, project_number, next_dataset_id)
46
+ def update_time_status(status, script_basename, user, project_number, next_dataset_id, rails_host)
44
47
  unless @start_time
45
48
  @start_time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
46
49
  end
47
50
  time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
48
- [status, script_basename, [@start_time, time].join("/"), user, project_number, next_dataset_id].join(',')
51
+ [status, script_basename, [@start_time, time].join("/"), user, project_number, next_dataset_id, rails_host].join(',')
49
52
  end
50
53
 
51
- def perform(job_id, script_basename, log_file, user, project_id, next_dataset_id=nil)
54
+ def perform(job_id, script_basename, log_file, user, project_id, next_dataset_id=nil, rails_host=nil)
52
55
  puts "JobID (in JobChecker): #{job_id}"
53
56
  db0 = Redis.new(port: PORT, db: 0) # state + alpha DB
54
57
  db1 = Redis.new(port: PORT, db: 1) # log DB
@@ -63,10 +66,10 @@ class JobChecker
63
66
  #print ret
64
67
  state = ret.split(/\n/).last.strip
65
68
  #puts "state: #{state}"
66
- db0[job_id] = update_time_status(state, script_basename, user, project_id, next_dataset_id)
69
+ db0[job_id] = update_time_status(state, script_basename, user, project_id, next_dataset_id, rails_host)
67
70
 
68
71
  unless state == pre_state
69
- db0[job_id] = update_time_status(state, script_basename, user, project_id, next_dataset_id)
72
+ db0[job_id] = update_time_status(state, script_basename, user, project_id, next_dataset_id, rails_host)
70
73
  project_jobs = eval((db2[project_id]||[]).to_s)
71
74
  project_jobs = Hash[*project_jobs]
72
75
  project_jobs[job_id] = state
@@ -76,6 +79,11 @@ class JobChecker
76
79
  pre_state = state
77
80
  sleep WORKER_INTERVAL
78
81
  end while state =~ /RUNNING/ or state =~ /PENDING/ or state =~ /---/
82
+ if next_dataset_id and rails_host
83
+ uri = URI("#{rails_host}/data_set/#{next_dataset_id}/update_completed_samples")
84
+ #p uri
85
+ res = Net::HTTP.get_response(uri)
86
+ end
79
87
  end
80
88
  end
81
89
 
@@ -187,12 +187,12 @@ module WorkflowManager
187
187
  statuses.each do |job_id, status|
188
188
  # puts [job_id, status].join(",")
189
189
  # 120249,RUNNING,QC_ventricles_100k.sh,2021-07-30 09:47:04/2021-07-30 09:47:04,masaomi,1535
190
- stat, script_basename, time, user, project_number, next_dataset_id = status.split(",")
190
+ stat, script_basename, time, user, project_number, next_dataset_id, rails_host = status.split(",")
191
191
  if stat == "RUNNING" or stat == "PENDING"
192
192
  log_file = logs[job_id]
193
193
  log_puts("JobID (in recovery check): #{job_id}")
194
194
  puts "JobID (in recovery check): #{job_id}"
195
- JobChecker.perform_async(job_id, script_basename, log_file, user, project_number, next_dataset_id)
195
+ JobChecker.perform_async(job_id, script_basename, log_file, user, project_number, next_dataset_id, rails_host)
196
196
  end
197
197
  end
198
198
  end
@@ -297,7 +297,7 @@ module WorkflowManager
297
297
  Thread.current.kill
298
298
  end
299
299
  end
300
- def start_monitoring3(script_path, script_content, user='sushi_lover', project_number=0, sge_options='', log_dir='', next_dataset_id='')
300
+ def start_monitoring3(script_path, script_content, user='sushi_lover', project_number=0, sge_options='', log_dir='', next_dataset_id='', rails_host=nil)
301
301
  script_basename = File.basename(script_path)
302
302
  job_id, log_file, command = @cluster.submit_job(script_path, script_content, sge_options)
303
303
  #p command
@@ -305,7 +305,7 @@ module WorkflowManager
305
305
  #p job_id
306
306
  puts "JobID (in WorkflowManager): #{job_id}"
307
307
  sleep 1
308
- JobChecker.perform_async(job_id, script_basename, log_file, user, project_number, next_dataset_id)
308
+ JobChecker.perform_async(job_id, script_basename, log_file, user, project_number, next_dataset_id, rails_host)
309
309
  job_id
310
310
  end
311
311
  def start_monitoring2(script_path, script_content, user='sushi_lover', project_number=0, sge_options='', log_dir='')
@@ -1,3 +1,3 @@
1
1
  module WorkflowManager
2
- VERSION = "0.7.6"
2
+ VERSION = "0.7.7"
3
3
  end
@@ -8,4 +8,4 @@ which g-sub
8
8
  which g-req
9
9
  mkdir -p logs
10
10
  mkdir -p dbs
11
- bundle exec workflow_manager -d druby://fgcz-h-031:40001
11
+ bundle exec workflow_manager -d druby://fgcz-h-032:40002
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workflow_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.6
4
+ version: 0.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Functional Genomics Center Zurich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-01 00:00:00.000000000 Z
11
+ date: 2021-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler