Sha256: 0b35901f9e16da922e537988cb038c7a7d9d44296eae278e8012fa62103b0275
Contents?: true
Size: 889 Bytes
Versions: 17
Compression:
Stored size: 889 Bytes
Contents
require File.join(File.dirname(__FILE__), 'db.rb') unless defined?(DB) class Runner < Sequel::Model def self.record!(hash) create_or_update_by_mac!(hash) end def self.create_or_update_by_mac!(hash) if (runner = find(:uid => hash[:uid])) runner.update hash else Runner.create hash end end def self.timeout 10 end def self.find_all_outdated DB[:runners].filter("version != ? OR version IS NULL", Testbot::VERSION) end def self.find_all_available DB[:runners].filter("version = ? AND last_seen_at > ?", Testbot::VERSION, Time.now - Runner.timeout) end def self.available_instances find_all_available.inject(0) { |sum, r| r[:idle_instances] + sum } end def self.total_instances return 1 if ENV['INTEGRATION_TEST'] find_all_available.inject(0) { |sum, r| r[:max_instances] + sum } end end
Version data entries
17 entries across 17 versions & 1 rubygems