coursemology-evaluator 0.1.8 → 0.1.9

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
  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