hirefire-resource 0.4.1 → 0.4.2

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