pampa 2.0.14 → 2.0.15

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pampa.rb +42 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0137672f5c0b7c0cd2be75ddf221d84d65d824c8ba4bdf87b5cfd369bf9eef14
4
- data.tar.gz: 7d8bb53cfd11c3d37b69b8408c544f1718fc0178f130f5f16785771e84af9ac9
3
+ metadata.gz: a8627e0b3e3f9d923c9dc750fde056078bfd202a74e3abd36eecfa27566c93f3
4
+ data.tar.gz: 27990d2b64539c229974280e5d80b630b7e6dfb05b4b6533ef8976031e791a7d
5
5
  SHA512:
6
- metadata.gz: '00540329934fd5d5d22cae40967fee37ba4eba39a4383d324999da4902ea0a8e83c489a320820102ec3c8175a37fdace4a2147b0be490ec22e6c8380ab29f1a2'
7
- data.tar.gz: 4efb7d405e0aa5d6a7c6f8b613b83fe14511d2f15a14f9338c48da4676204631a0c99fc34491474571c164779ad730e5820b397f2dc93a3abb3ff5bee6ec1851
6
+ metadata.gz: 71fb9a3ab3965c5aa591412c358ff6074b12d9e7ff6b8409d941ac28e42ba2ccb85288f1987a20758fd81c795d22323c597c2f15be040d5e1b628fed008aaecb
7
+ data.tar.gz: e33cfc7bca76c0a3031c4bfdc96417cfba6fadbcf7593b499a9eb2b5cefd996371b05548f159149ff2d204ae8035c524ac77c2dadbb081bde93693f0e64da1d9
data/lib/pampa.rb CHANGED
@@ -358,7 +358,7 @@ module BlackStack
358
358
  l.done
359
359
  # kill all ruby processes except this one
360
360
  l.logs("Killing all Ruby processes except this one... ")
361
- node.exec("ps ax | grep ruby | grep -v grep | grep -v #{Process.pid} | cut -b3-7 | xargs -t kill;", false);
361
+ node.kill_workers()
362
362
  l.done
363
363
  # rename any existing folder ~/code/pampa to ~/code/pampa.<current timestamp>.
364
364
  l.logs("Renaming old folder... ")
@@ -383,8 +383,23 @@ module BlackStack
383
383
  # run the worker
384
384
  # add these parameters for debug: debug=yes pampa=~/code/pampa/lib/pampa.rb
385
385
  l.logs "Running worker #{worker.id}... "
386
- s = "nohup ruby #{BlackStack::Pampa.worker_filename} id=#{worker.id} config=#{BlackStack::Pampa.working_directory}/#{BlackStack::Pampa.config_filename} >/dev/null 2>&1 &"
387
- node.exec("#{s}", false);
386
+
387
+ # write bash command to initialize bash file
388
+ s = "echo \"
389
+ export RUBYLIB=$HOME/code/mysaas;
390
+ source $HOME/.profile;
391
+ source /usr/local/rvm/scripts/rvm;
392
+ cd ~/code/mysaas; rvm install 3.1.2;
393
+ rvm --default use 3.1.2;
394
+ cd #{BlackStack::Pampa.working_directory};
395
+ nohup ruby #{worker_filename} id=#{worker.id} config=#{self.config_filename} >/dev/null 2>&1 &
396
+ \" > #{BlackStack::Pampa.working_directory}/#{worker.id}.sh"
397
+ node.exec(s, false);
398
+
399
+ #s = "nohup bash #{BlackStack::Pampa.working_directory}/worker.sh >/dev/null 2>&1 &"
400
+ s = "bash #{BlackStack::Pampa.working_directory}/#{worker.id}.sh"
401
+ node.exec(s, false);
402
+
388
403
  l.done
389
404
  }
390
405
  # disconnect the node
@@ -418,7 +433,7 @@ module BlackStack
418
433
  l.done
419
434
  # kill all ruby processes except this one
420
435
  l.logs("Killing all Ruby processes except this one... ")
421
- node.exec("ps ax | grep ruby | grep -v grep | grep -v #{Process.pid} | cut -b3-7 | xargs -t kill;", true);
436
+ node.kill_workers()
422
437
  l.done
423
438
  # run the number of workers specified in the configuration of the Pampa module.
424
439
  node.workers.each { |worker|
@@ -429,10 +444,18 @@ module BlackStack
429
444
  l.logs "Running worker #{worker.id}... "
430
445
 
431
446
  # write bash command to initialize bash file
432
- s = "echo \"source $HOME/.profile; cd #{BlackStack::Pampa.working_directory}; nohup ruby #{worker_filename} id=#{worker.id} config=#{self.config_filename} >/dev/null 2>&1 &\" > #{BlackStack::Pampa.working_directory}/worker.sh"
447
+ s = "echo \"
448
+ export RUBYLIB=$HOME/code/mysaas;
449
+ source $HOME/.profile;
450
+ source /usr/local/rvm/scripts/rvm;
451
+ cd ~/code/mysaas; rvm install 3.1.2;
452
+ rvm --default use 3.1.2;
453
+ cd #{BlackStack::Pampa.working_directory};
454
+ nohup ruby #{worker_filename} id=#{worker.id} config=#{self.config_filename} >/dev/null 2>&1 &
455
+ \" > #{BlackStack::Pampa.working_directory}/#{worker.id}.sh"
456
+ #binding.pry
433
457
  node.exec(s, false);
434
-
435
- s = "nohup bash #{BlackStack::Pampa.working_directory}/worker.sh >/dev/null 2>&1 &"
458
+ s = "nohup bash #{BlackStack::Pampa.working_directory}/#{worker.id}.sh >/dev/null 2>&1 &"
436
459
  node.exec(s, false);
437
460
 
438
461
  l.done
@@ -469,7 +492,7 @@ module BlackStack
469
492
  l.done
470
493
  # kill all ruby processes except this one
471
494
  l.logs("Killing all Ruby processes except this one... ")
472
- node.exec("ps ax | grep ruby | grep -v grep | grep -v #{Process.pid} | cut -b3-7 | xargs -t kill;", false);
495
+ node.kill_workers()
473
496
  l.done
474
497
  # disconnect the node
475
498
  l.logs("Disconnecting... ")
@@ -490,7 +513,8 @@ module BlackStack
490
513
  # connect the node
491
514
  n.connect()
492
515
  # get the time of the last time the worker wrote the log file
493
- s = n.exec("cat #{BlackStack::Pampa.working_directory}/worker.#{worker_id}.log | tail -n 1 | cut -b1-19", false).to_s.strip
516
+ code = "cat #{BlackStack::Pampa.working_directory}/worker.#{worker_id}.log | tail -n 1 | cut -b1-19"
517
+ s = n.exec(code, false).to_s.strip
494
518
  # run bash command to get the difference in minutes beteen now and the last time the worker wrote the log file
495
519
  s = n.exec("echo \"$(($(date +%s) - $(date -d '#{s}' +%s))) / 60\" | bc", false).to_s.strip
496
520
  # disconnect the node
@@ -592,6 +616,15 @@ module BlackStack
592
616
  end
593
617
  ret
594
618
  end
619
+ # kill all workers
620
+ def kill_workers()
621
+ self.workers.each do |worker|
622
+ self.kill_worker(worker.id)
623
+ end
624
+ end
625
+ def kill_worker(worker_id)
626
+ self.exec("kill -9 $(ps -ef | grep \"ruby worker.rb id=#{worker_id}\" | grep -v grep | awk '{print $2}')", false)
627
+ end
595
628
  end # class Node
596
629
 
597
630
  # stub job class
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pampa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.14
4
+ version: 2.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Daniel Sardi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-11 00:00:00.000000000 Z
11
+ date: 2022-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel