hirefire-resource 0.6.0 → 0.7.0
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 +4 -4
- data/hirefire-resource.gemspec +1 -1
- data/lib/hirefire/middleware.rb +3 -2
- data/lib/hirefire/resource.rb +19 -5
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e583f65c0c003cc4543482e3730952319ddc0069d97332f4f40b85701f61eebd
|
|
4
|
+
data.tar.gz: efdc10ea1bf9f75333e4605a4ffbc7dd63e40d3e198a552badfb1a79bad21697
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 03fe9362bc04329ad02fccb8cc2836176bfbd1d06cef683a24dffa12f399386b592efcc1e8271b854c766a3c495a7d9abeda9e0736d59c86cda38723379c5690
|
|
7
|
+
data.tar.gz: b80ca0e325253750e54771f9dcf03e60e88c99b999b2dff0f7b596186c23356095dad90fd5ddc0bde1c2ec57fd6cf2475f3d8452c260467f9ef9f7730aaffeef
|
data/hirefire-resource.gemspec
CHANGED
data/lib/hirefire/middleware.rb
CHANGED
|
@@ -108,7 +108,7 @@ module HireFire
|
|
|
108
108
|
# @param [String] the timestamp from HTTP_X_REQUEST_START.
|
|
109
109
|
#
|
|
110
110
|
def handle_queue(value)
|
|
111
|
-
log_queue(value)
|
|
111
|
+
HireFire::Resource.log_queue_metrics && value && log_queue(value)
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
# Writes the Heroku Router queue time to STDOUT.
|
|
@@ -126,7 +126,8 @@ module HireFire
|
|
|
126
126
|
# @return [Integer] the queue time in milliseconds.
|
|
127
127
|
#
|
|
128
128
|
def get_queue(value)
|
|
129
|
-
(Time.now.to_f * 1000).to_i - value.to_i
|
|
129
|
+
ms = (Time.now.to_f * 1000).to_i - value.to_i
|
|
130
|
+
ms < 0 ? 0 : ms
|
|
130
131
|
end
|
|
131
132
|
end
|
|
132
133
|
end
|
data/lib/hirefire/resource.rb
CHANGED
|
@@ -4,14 +4,30 @@ module HireFire
|
|
|
4
4
|
module Resource
|
|
5
5
|
extend self
|
|
6
6
|
|
|
7
|
+
# This option, when enabled, will write queue metrics to STDOUT,
|
|
8
|
+
# and is only required when using the Web.Logplex.QueueTime strategy.
|
|
9
|
+
#
|
|
10
|
+
# @param [Boolean] Whether or not the queue metrics should be logged.
|
|
11
|
+
#
|
|
12
|
+
attr_writer :log_queue_metrics
|
|
13
|
+
|
|
14
|
+
# @return [Boolean] True if the queue metrics option is enabled.
|
|
15
|
+
#
|
|
16
|
+
def log_queue_metrics
|
|
17
|
+
@log_queue_metrics ||= false
|
|
18
|
+
end
|
|
19
|
+
|
|
7
20
|
# @return [Array] The configured dynos.
|
|
8
21
|
#
|
|
9
|
-
|
|
22
|
+
def dynos
|
|
23
|
+
@dynos ||= []
|
|
24
|
+
end
|
|
10
25
|
|
|
11
|
-
#
|
|
26
|
+
# Configures HireFire::Resource.
|
|
12
27
|
#
|
|
13
28
|
# @example Resource Configuration
|
|
14
29
|
# HireFire::Resource.configure do |config|
|
|
30
|
+
# config.log_queue_metrics = true # disabled by default
|
|
15
31
|
# config.dyno(:worker) do
|
|
16
32
|
# # Macro or Custom logic for the :worker dyno here..
|
|
17
33
|
# end
|
|
@@ -20,7 +36,6 @@ module HireFire
|
|
|
20
36
|
# @yield [HireFire::Resource] to allow for block-style configuration.
|
|
21
37
|
#
|
|
22
38
|
def configure
|
|
23
|
-
@dynos ||= []
|
|
24
39
|
yield self
|
|
25
40
|
end
|
|
26
41
|
|
|
@@ -30,8 +45,7 @@ module HireFire
|
|
|
30
45
|
# @param [Proc] block an Integer containing the quantity calculation logic.
|
|
31
46
|
#
|
|
32
47
|
def dyno(name, &block)
|
|
33
|
-
|
|
48
|
+
dynos << { :name => name, :quantity => block }
|
|
34
49
|
end
|
|
35
50
|
end
|
|
36
51
|
end
|
|
37
|
-
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hirefire-resource
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael van Rooijen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-11-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Load- and schedule-based scaling for web- and worker dynos
|
|
14
14
|
email: michael@hirefire.io
|