coursemology-evaluator 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5802d9ed3b7ce70c873c6a12650c7a5ec51ca37d
4
- data.tar.gz: bec9952f8d1e19429110c26df9b92a97a3e6d574
3
+ metadata.gz: 5384257549017728b61a91aea09ab83a5b79aba4
4
+ data.tar.gz: 116debc7dd98ea0615feba9070dc2b18ca660c07
5
5
  SHA512:
6
- metadata.gz: 17a2f478bf813552343e5899e1461f1115a07e4de18896d69deedf56da76451549e32e7f3bd7af0d3d12b7688387d1c83a9a3add6e8cc6c1ab8b07cf3e420d67
7
- data.tar.gz: a8d6b9b27db20fba90e72ee257c609cae38975af971d0fe6f6bec072dbd52668b76f58fd9e2cd804e9319a23141944f92bc5e77ca64c4d6112dc71676cd6ad48
6
+ metadata.gz: 4ef993058bb89184d5305c5c19cb5951f08a09cf73433bda23b4962f45b49f81155ba495deb02a383691da661d7ee694886773c4952d821d490ddc325acbc8a0
7
+ data.tar.gz: 2d5286c5cfcef141be0ba625174c37076c4c766acfb89e5728d37c2afb09fca98997039145f24240a922d7b3c6c3e97ffe02a3327d7e9dc30a99238063a6f7a7
data/README.md CHANGED
@@ -50,3 +50,8 @@ Time options are expected to be strings in [ISO8601 format](https://en.wikipedia
50
50
  E.g. `1DT2H5M10S`
51
51
 
52
52
  3. `--one-shot`: Runs once and terminates. Primarily used for testing.
53
+
54
+ 4. `--sleep`: Length of time to sleep before the first check for programming allocations.
55
+ This time is expected to be short and has the same restrictions as those for `--interval`.
56
+
57
+ Useful for staggering the start times of multiple processes when managed with systemd.
@@ -3,7 +3,7 @@ require 'optparse'
3
3
 
4
4
  class Coursemology::Evaluator::CLI
5
5
  Options = Struct.new(:host, :api_token, :api_user_email,
6
- :one_shot, :poll_interval, :image_lifetime)
6
+ :one_shot, :poll_interval, :image_lifetime, :sleep_time)
7
7
 
8
8
  def self.start(argv)
9
9
  new.start(argv)
@@ -24,6 +24,9 @@ class Coursemology::Evaluator::CLI
24
24
 
25
25
  Coursemology::Evaluator::Client.initialize(options.host, options.api_user_email,
26
26
  options.api_token)
27
+
28
+ # Sleep before start
29
+ sleep(::ISO8601::Duration.new("PT#{options.sleep_time}".upcase).to_seconds)
27
30
  Coursemology::Evaluator::Client.new(options.one_shot).run
28
31
  end
29
32
 
@@ -40,6 +43,7 @@ class Coursemology::Evaluator::CLI
40
43
  options.poll_interval = '10S'
41
44
  options.image_lifetime = '1D'
42
45
  options.one_shot = false
46
+ options.sleep_time = '0S'
43
47
 
44
48
  option_parser = OptionParser.new do |parser|
45
49
  parser.banner = "Usage: #{parser.program_name} [options]"
@@ -66,6 +70,10 @@ class Coursemology::Evaluator::CLI
66
70
  parser.on('-o', '--one-shot') do
67
71
  options.one_shot = true
68
72
  end
73
+
74
+ parser.on('-sSLEEP', '--sleep=SLEEPTIME') do |sleeptime|
75
+ options.sleep_time = sleeptime
76
+ end
69
77
  end
70
78
 
71
79
  option_parser.parse!(argv)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Coursemology; end
3
3
  module Coursemology::Evaluator
4
- VERSION = '0.1.8'.freeze
4
+ VERSION = '0.1.9'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coursemology-evaluator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Low
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-31 00:00:00.000000000 Z
11
+ date: 2016-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler