khronos 0.0.0 → 0.0.1.pre1
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.
- data/.gitignore +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +18 -7
- data/Rakefile +36 -0
- data/bin/khronos +2 -1
- data/config.ru +9 -1
- data/config/environment.yml +27 -5
- data/{lib/khronos/storage/adapter/mongo/.schedule_log.rb.un~ → db/test.db} +0 -0
- data/khronos.gemspec +10 -7
- data/lib/khronos.rb +4 -7
- data/lib/khronos/config.rb +0 -2
- data/lib/khronos/logger.rb +16 -0
- data/lib/khronos/scheduler.rb +17 -3
- data/lib/khronos/server.rb +4 -31
- data/lib/khronos/server/controller.rb +31 -0
- data/lib/khronos/server/runner.rb +50 -0
- data/lib/khronos/server/scheduler.rb +110 -0
- data/lib/khronos/storage.rb +34 -13
- data/lib/khronos/storage/adapter.rb +44 -0
- data/lib/khronos/storage/adapter/activerecord.rb +39 -0
- data/lib/khronos/storage/adapter/activerecord/migrations/schedule.rb +29 -0
- data/lib/khronos/storage/adapter/activerecord/migrations/schedule_log.rb +23 -0
- data/lib/khronos/storage/adapter/activerecord/schedule.rb +24 -0
- data/lib/khronos/storage/adapter/activerecord/schedule_log.rb +14 -0
- data/lib/khronos/storage/adapter/mongoid.rb +37 -0
- data/lib/khronos/storage/adapter/{mongo → mongoid}/schedule.rb +6 -4
- data/lib/khronos/storage/adapter/{mongo → mongoid}/schedule_log.rb +3 -4
- data/lib/khronos/tasks/db.rake +25 -0
- data/lib/khronos/version.rb +1 -1
- data/server.rb +29 -0
- data/spec/functional/adapters_spec.rb +61 -0
- data/spec/functional/controller_spec.rb +11 -0
- data/spec/functional/scheduler_spec.rb +30 -0
- data/spec/integration/runner_server_spec.rb +26 -0
- data/spec/integration/scheduler_server_spec.rb +70 -0
- data/spec/spec_helper.rb +17 -1
- data/spec/support/factories.rb +12 -0
- data/spec/support/mocks.rb +23 -0
- data/{lib/khronos/storage/adapter/postgres/.schedule.rb.un~ → spec/tmp/scheduler.db} +0 -0
- data/{lib/khronos/.version.rb.swp → spec/tmp/sqlite3.db} +0 -0
- metadata +92 -55
- data/config/.config.yml.un~ +0 -0
- data/config/.environment.yml.un~ +0 -0
- data/config/.redis.yml.un~ +0 -0
- data/config/.storage.yml.un~ +0 -0
- data/lib/.khronos.rb.un~ +0 -0
- data/lib/.scheduler.rb.un~ +0 -0
- data/lib/khronos/.config.rb.un~ +0 -0
- data/lib/khronos/.controller.rb.un~ +0 -0
- data/lib/khronos/.runner.rb.un~ +0 -0
- data/lib/khronos/.schedule.rb.un~ +0 -0
- data/lib/khronos/.scheduler.rb.un~ +0 -0
- data/lib/khronos/.server.rb.un~ +0 -0
- data/lib/khronos/.storage.rb.un~ +0 -0
- data/lib/khronos/.task.rb.un~ +0 -0
- data/lib/khronos/.version.rb.un~ +0 -0
- data/lib/khronos/controller.rb +0 -26
- data/lib/khronos/runner.rb +0 -11
- data/lib/khronos/storage/adapter/.client.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/.memcached.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/.mongo.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/.mongodb.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/.postgres.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/.redis.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/mongo.rb +0 -13
- data/lib/khronos/storage/adapter/mongo/.mongo.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/mongo/.schedule.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/postgres.rb +0 -15
- data/lib/khronos/storage/adapter/postgres/.schedule_log.rb.un~ +0 -0
- data/lib/khronos/storage/adapter/postgres/schedule.rb +0 -13
- data/lib/khronos/storage/adapter/postgres/schedule_log.rb +0 -13
- data/lib/khronos/storage/db/migrate/.schedule.rb.un~ +0 -0
- data/lib/khronos/storage/db/migrate/.schedule_log.rb.un~ +0 -0
- data/lib/khronos/storage/db/migrate/schedule.rb +0 -15
- data/lib/khronos/storage/db/migrate/schedule_log.rb +0 -16
- data/spec/.spec_helper.rb.un~ +0 -0
- data/spec/functional/.client_spec.rb.un~ +0 -0
- data/spec/functional/client_spec.rb +0 -24
- data/spec/integration/.server_spec.rb.un~ +0 -0
- data/spec/integration/server_spec.rb +0 -31
data/lib/khronos/runner.rb
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,15 +0,0 @@
|
|
1
|
-
class CreateSchedule < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :schedules do |t|
|
4
|
-
t.string :namespace, :limit => 100, :null => true
|
5
|
-
t.string :context, :limit => 100, :null => false
|
6
|
-
t.datetime :at, :null => false
|
7
|
-
t.integer :recurring, :null => false
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.down
|
12
|
-
drop_table :schedules
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
class CreateSchedule < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :schedule_logs do |t|
|
4
|
-
t.integer :schedule_id, :null => false
|
5
|
-
|
6
|
-
t.datetime :started_at, :null => false
|
7
|
-
t.datetime :finished_at, :null => true
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.down
|
12
|
-
drop_table :schedule_logs
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
|
data/spec/.spec_helper.rb.un~
DELETED
Binary file
|
Binary file
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Khronos::Storage do
|
4
|
-
subject { Khronos::Storage }
|
5
|
-
|
6
|
-
describe 'adapters' do
|
7
|
-
|
8
|
-
it "should identify redis adapter" do
|
9
|
-
client = subject.new('redis://127.0.0.1:6379/0')
|
10
|
-
client.adapter.should be_a_instance_of Khronos::Adapter::Redis
|
11
|
-
end
|
12
|
-
|
13
|
-
xit "should identify memcached adapter" do
|
14
|
-
client = subject.new('memcached://127.0.0.1:6379/test')
|
15
|
-
client.adapter.should be_a_instance_of Khronos::Adapter::Memcached
|
16
|
-
end
|
17
|
-
|
18
|
-
xit "should identify mongodb adapter" do
|
19
|
-
client = subject.new('mongodb://127.0.0.1:6379/test')
|
20
|
-
client.adapter.should be_a_instance_of Khronos::Adapter::Mongodb
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
Binary file
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Khronos::Server do
|
4
|
-
include Rack::Test::Methods
|
5
|
-
|
6
|
-
def app
|
7
|
-
Khronos::Server
|
8
|
-
end
|
9
|
-
|
10
|
-
it "shouldn't accept request without context" do
|
11
|
-
get('/')
|
12
|
-
last_response.status.should == 400
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should accept requests with no data" do
|
16
|
-
get('/', {:context => "invalid"})
|
17
|
-
last_response.status.should == 200
|
18
|
-
JSON.parse(last_response.body).should == {}
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should schedule context to 1 week" do
|
22
|
-
put('/', {
|
23
|
-
:context => "invalid",
|
24
|
-
:schedule => 1.week,
|
25
|
-
:at => '15:00',
|
26
|
-
:recurrency => 5
|
27
|
-
})
|
28
|
-
last_response.status.should == 200
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|