khronos 0.0.1.pre6 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/khronos.rb +1 -0
- data/lib/khronos/server/controller.rb +6 -15
- data/lib/khronos/storage/adapter/activerecord.rb +6 -6
- data/lib/khronos/storage/adapter/mongoid.rb +3 -3
- data/lib/khronos/version.rb +1 -1
- data/spec/spec_helper.rb +0 -2
- data/spec/tmp/scheduler.db +0 -0
- data/spec/tmp/sqlite3.db +0 -0
- metadata +4 -4
data/lib/khronos.rb
CHANGED
@@ -5,29 +5,20 @@ module Khronos
|
|
5
5
|
|
6
6
|
def initialize
|
7
7
|
@storage = Storage.new
|
8
|
-
@scheduler =
|
8
|
+
@scheduler = Scheduler.new
|
9
9
|
end
|
10
10
|
|
11
11
|
def logger=(logger)
|
12
12
|
puts "WARNING: Not implemented yet."
|
13
13
|
end
|
14
14
|
|
15
|
-
def check_schedule!
|
16
|
-
puts "Check... #{Time.now}"
|
17
|
-
count = 0
|
18
|
-
@scheduler.fetch(Time.now).each do |schedule|
|
19
|
-
schedule.update_attributes(:active => false)
|
20
|
-
schedule.save
|
21
|
-
|
22
|
-
@scheduler.run(schedule)
|
23
|
-
count += 1
|
24
|
-
end
|
25
|
-
puts "Tick. #{count} jobs to run."
|
26
|
-
end
|
27
|
-
|
28
15
|
def start!
|
29
16
|
loop do
|
30
|
-
|
17
|
+
@scheduler.fetch(Time.now).each do |schedule|
|
18
|
+
schedule.update_attributes(:status => false)
|
19
|
+
schedule.save
|
20
|
+
@scheduler.run(schedule)
|
21
|
+
end
|
31
22
|
|
32
23
|
#
|
33
24
|
# Sleep 'interval' seconds
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_record'
|
1
2
|
|
2
3
|
module Khronos
|
3
4
|
class Storage
|
@@ -8,13 +9,12 @@ module Khronos
|
|
8
9
|
autoload :ScheduleLog, 'khronos/storage/adapter/activerecord/schedule_log'
|
9
10
|
|
10
11
|
def self.connect!(url)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
#else
|
12
|
+
puts "Connect! => #{url.inspect}"
|
13
|
+
if File.exists?("config/database.yml")
|
14
|
+
::ActiveRecord::Base.establish_connection(YAML.load_file("config/database.yml")[ENV['RACK_ENV']])
|
15
|
+
else
|
16
16
|
::ActiveRecord::Base.establish_connection(url)
|
17
|
-
|
17
|
+
end
|
18
18
|
|
19
19
|
#
|
20
20
|
# ::ActiveRecord::Base.logger = ::Logger.new(STDOUT)
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'mongoid'
|
2
|
+
require 'mongo'
|
3
|
+
|
1
4
|
module Khronos
|
2
5
|
class Storage
|
3
6
|
module Adapter
|
@@ -7,9 +10,6 @@ module Khronos
|
|
7
10
|
autoload :ScheduleLog, 'khronos/storage/adapter/mongoid/schedule_log'
|
8
11
|
|
9
12
|
def self.connect!(uri)
|
10
|
-
require 'mongo'
|
11
|
-
require 'mongoid'
|
12
|
-
|
13
13
|
if File.exists?("config/mongoid.yml")
|
14
14
|
::Mongoid.load!("config/mongoid.yml")
|
15
15
|
else
|
data/lib/khronos/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/tmp/scheduler.db
CHANGED
Binary file
|
data/spec/tmp/sqlite3.db
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: khronos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Endel Dreyer
|
@@ -208,9 +208,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
208
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
209
|
none: false
|
210
210
|
requirements:
|
211
|
-
- - ! '
|
211
|
+
- - ! '>='
|
212
212
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
213
|
+
version: '0'
|
214
214
|
requirements: []
|
215
215
|
rubyforge_project:
|
216
216
|
rubygems_version: 1.8.24
|