Sha256: 6ba7fd6cac984229f669df7262f4f422bf5cbd0cb0d5a82961302bb0dab9fa68

Contents?: true

Size: 571 Bytes

Versions: 9

Compression:

Stored size: 571 Bytes

Contents

require 'socket'
require 'json'

module Khronos
  class Scheduler
    module Methods
      def run(schedule)
        client = TCPSocket.new( Config.instance.runner['host'], Config.instance.runner['port'] )
        client.puts( schedule.to_json )

        while !(client.closed?) && (message = client.gets)
          puts message.inspect
          client.close
        end
      end

      def fetch(target_time=Time.now)
        Storage::Schedule.where(['at <= ?', target_time]).where(:active => true)
      end
    end

    include Methods
    extend Methods
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
khronos-0.0.2 lib/khronos/scheduler.rb
khronos-0.0.2.pre1 lib/khronos/scheduler.rb
khronos-0.0.1.pre6 lib/khronos/scheduler.rb
khronos-0.0.1.pre5 lib/khronos/scheduler.rb
khronos-0.0.1.pre4 lib/khronos/scheduler.rb
khronos-0.0.1.pre3 lib/khronos/scheduler.rb
khronos-0.0.1.pre2 lib/khronos/scheduler.rb
khronos-0.0.1.pre1 lib/khronos/scheduler.rb
khronos-0.0.1 lib/khronos/scheduler.rb