hirefire-resource 0.4.1 → 0.4.2

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: 071eef5dfbd579fa92c75ae256fe83aa5169cf8c
4
- data.tar.gz: 566e042e7838b0faabd85b8fb2ff57fa9a421eff
3
+ metadata.gz: e74599dff2d7b0509fc068e143312336e854e3c2
4
+ data.tar.gz: d515af29724dbaff66c7f3fb24fd73c22a83c4c5
5
5
  SHA512:
6
- metadata.gz: 7a20bbe4094c924f954d3889316cd85ef808dbacd5d5fc9df7996262d9b85ac45986524992236d95a1f1a122d8e4f0deec5eafd68710d266b48dea14b984af21
7
- data.tar.gz: 6cf16d48804582430b4a85dc492732de51dc7ab953d29f97486ce4c39cd7dfc0815c95dc056492a0645ea968c10e57dca39c653608ca17e5a2676f1fb4734fe7
6
+ metadata.gz: 9d43c787528213ec9956e16a804f407c106db4eba0f6f2c38d3f27626f8e81e7cd2b6d0f2419d3fd93d658736a80f275c6d71a046328b2429c79f603b0a96966
7
+ data.tar.gz: 83fa2527ebf43e28fb7b6939f595c8c8715922404601ce1de488acd6534301e41f40038253e6d4935e94c1d1940c6247351dc61e3376bd09d2d95ca0696b29c2
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "hirefire-resource"
5
- gem.version = "0.4.1"
5
+ gem.version = "0.4.2"
6
6
  gem.platform = Gem::Platform::RUBY
7
7
  gem.authors = "Michael van Rooijen"
8
8
  gem.email = "michael@hirefire.io"
9
- gem.homepage = "http://www.hirefire.io"
9
+ gem.homepage = "https://www.hirefire.io"
10
10
  gem.summary = "Autoscaling for your Heroku dynos"
11
11
  gem.description = "Load- and schedule-based scaling for web- and worker dynos"
12
12
  gem.licenses = ["Apache License"]
@@ -3,6 +3,16 @@
3
3
  module HireFire
4
4
  module Macro
5
5
  module Que
6
+ QUERY = %{
7
+ SELECT count(*) AS total,
8
+ count(locks.job_id) AS running,
9
+ coalesce(sum((error_count > 0 AND locks.job_id IS NULL)::int), 0) AS failing,
10
+ coalesce(sum((error_count = 0 AND locks.job_id IS NULL)::int), 0) AS scheduled
11
+ FROM que_jobs LEFT JOIN (
12
+ SELECT (classid::bigint << 32) + objid::bigint AS job_id
13
+ FROM pg_locks WHERE locktype = 'advisory'
14
+ ) locks USING (job_id) }.freeze
15
+
6
16
  extend self
7
17
 
8
18
  # Queries the PostgreSQL database through Que in order to
@@ -16,8 +26,7 @@ module HireFire
16
26
  # @return [Integer] the number of jobs in the queue(s).
17
27
  #
18
28
  def queue(queue = nil)
19
- query = ::Que::Web::SQL[:dashboard_stats]
20
- query = "#{query} WHERE queue = '#{queue}'" if queue
29
+ query = queue ? "#{QUERY} WHERE queue = '#{queue}'" : QUERY
21
30
  results = ::Que.execute(query).first
22
31
  results["total"].to_i - results["failing"].to_i
23
32
  end
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.1
4
+ version: 0.4.2
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: 2017-05-11 00:00:00.000000000 Z
11
+ date: 2017-06-02 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
@@ -37,7 +37,7 @@ files:
37
37
  - lib/hirefire/middleware.rb
38
38
  - lib/hirefire/railtie.rb
39
39
  - lib/hirefire/resource.rb
40
- homepage: http://www.hirefire.io
40
+ homepage: https://www.hirefire.io
41
41
  licenses:
42
42
  - Apache License
43
43
  metadata: {}
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  version: '0'
58
58
  requirements: []
59
59
  rubyforge_project:
60
- rubygems_version: 2.6.11
60
+ rubygems_version: 2.6.8
61
61
  signing_key:
62
62
  specification_version: 4
63
63
  summary: Autoscaling for your Heroku dynos