-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
redis install + starting on example to show use of library (and to dr…
…ive the development)
- Loading branch information
Kyle Burton
committed
Aug 4, 2011
1 parent
757f09b
commit ee0185d
Showing
11 changed files
with
202 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
require 'yaml' | ||
require 'erb' | ||
require 'ostruct' | ||
require 'pp' | ||
require 'fileutils' | ||
$project_root = File.dirname(__FILE__) | ||
$redis_config = YAML.load_file(File.join($project_root,'config','redis.yml'))["redis"] | ||
|
||
#pp $redis_config | ||
|
||
def redis_url | ||
$redis_config["download_url"] | ||
end | ||
|
||
def redis_archive | ||
redis_url.split('/')[-1] | ||
end | ||
|
||
def redis_dir | ||
File.basename(redis_archive,".tar.gz") | ||
end | ||
|
||
def redis_ver | ||
redis_dir.split('-')[-1] | ||
end | ||
|
||
def redis_erb_template | ||
"#{$project_root}/templates/redis.conf.erb" | ||
end | ||
|
||
def redis_config_file role | ||
"#{$project_root}/redis/redis-#{role.to_s}.conf" | ||
end | ||
|
||
def gen_redis_config role, bindings | ||
File.open(redis_config_file(role),"w") do |f| | ||
template = File.read(redis_erb_template) | ||
bindings = OpenStruct.new bindings | ||
result = ERB.new(template).result(bindings.send(:binding)) | ||
f.puts result | ||
end | ||
end | ||
|
||
namespace :perceptor do | ||
namespace :redis do | ||
desc "Download, build and Install Redis" | ||
task :install do | ||
Dir.chdir "redis/" do |p| | ||
unless File.exist? redis_archive | ||
system "wget", redis_url | ||
end | ||
|
||
unless File.exist? redis_dir | ||
system "tar", "xzvf", redis_archive | ||
end | ||
|
||
Dir.chdir redis_dir do |p| | ||
unless File.exist? "src/redis-server" | ||
system "make" | ||
end | ||
end | ||
end | ||
end | ||
|
||
namespace :master do | ||
desc "generate redis config" | ||
task :gen_config => [:install] do | ||
gen_redis_config :master, | ||
:port => 6379, | ||
:role => :master, | ||
:pidfile => "master.pid", | ||
:dbfilename => "master-dump.rdb", | ||
:dir => "./", | ||
:appendfilename => "master-appendonly.aof", | ||
:vm_swap_file => "master-redis.swap" | ||
end | ||
|
||
desc "Run master redis" | ||
task :run => [:install,:gen_config] do | ||
cmd = ["#{$project_root}/redis/#{redis_dir}/src/redis-server", redis_config_file(:master)] | ||
pp cmd | ||
system *cmd | ||
end | ||
end | ||
|
||
namespace :slave do | ||
desc "generate redis config" | ||
task :gen_config => [:install] do | ||
gen_redis_config :slave, | ||
:port => 6380, | ||
:slave => true, | ||
:master_port => 6379, | ||
:role => :slave, | ||
:pidfile => "slave.pid", | ||
:dbfilename => "slave-dump.rdb", | ||
:dir => "./", | ||
:appendfilename => "slave-appendonly.aof", | ||
:vm_swap_file => "slave-redis.swap" | ||
end | ||
|
||
desc "Run slave redis" | ||
task :run => [:install,:gen_config] do | ||
cmd = ["#{$project_root}/redis/#{redis_dir}/src/redis-server", redis_config_file(:slave)] | ||
#pp cmd | ||
system *cmd | ||
end | ||
end | ||
end | ||
|
||
end | ||
|
||
namespace :perceptor do | ||
namespace :exmaples do | ||
desc "make checkouts" | ||
task :make_checkouts do | ||
Dir.chdir "examples/web-stats" do |p| | ||
FileUtils.mkdir_p "checkouts" | ||
FileUtils.ln_s $project_root, "checkouts" | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
redis: | ||
download_url: http://redis.googlecode.com/files/redis-2.2.11.tar.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
pom.xml | ||
*jar | ||
/lib/ | ||
/classes/ | ||
.lein-failures | ||
.lein-deps-sum |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# web-stats | ||
|
||
FIXME: write description | ||
|
||
## Usage | ||
|
||
FIXME: write | ||
|
||
## License | ||
|
||
Copyright (C) 2011 FIXME | ||
|
||
Distributed under the Eclipse Public License, the same as Clojure. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
(defproject web-stats "1.0.0-SNAPSHOT" | ||
:description "FIXME: write description" | ||
:dev-dependencies [[swank-clojure "1.4.0-SNAPSHOT"]] | ||
:local-repo-classpath true | ||
:dependencies [[org.clojure/clojure "1.2.1"] | ||
[com.relaynetwork/perceptor "1.0.0-SNAPSHOT"] | ||
[noir "1.1.0"]]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
(ns web-stats.core) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
(ns web-stats.test.core | ||
(:use [web-stats.core]) | ||
(:use [clojure.test])) | ||
|
||
(deftest replace-me ;; FIXME: write | ||
(is false "No tests have been written.")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
(defproject com.relaynetwork/perceptor "1.0.0-SNAPSHOT" | ||
:description "Clojure bindings for Esper: http://esper.codehaus.org/" | ||
:dev-dependencies [[swank-clojure "1.4.0-SNAPSHOT"]] | ||
:local-repo-classpath true | ||
:dependencies [[org.clojure/clojure "1.2.1"] | ||
[org.clojure/clojure-contrib "1.2.0"] | ||
[com.espertech/esper "4.3.0"] | ||
[org.clojars.kyleburton/clj-etl-utils "1.0.38-SNAPSHOT"] | ||
[com.relaynetwork/clorine "1.0.5-SNAPSHOT"]]) | ||
[com.relaynetwork/clorine "1.0.6-SNAPSHOT"]]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
redis-2.2.11.tar.gz | ||
redis-2.2.11/ | ||
redis-master.conf | ||
master-appendonly.aof |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# config <%= role %> | ||
daemonize no | ||
pidfile <%= $project_root %>/redis/<%= pidfile %> | ||
port <%= port %> | ||
bind 127.0.0.1 | ||
timeout 300 | ||
loglevel verbose | ||
logfile stdout | ||
databases 16 | ||
save 900 1 | ||
save 300 10 | ||
save 60 10000 | ||
rdbcompression yes | ||
dbfilename <%= $project_root %>/redis/<%= dbfilename %> | ||
dir <%= dir %> | ||
<% if slave %> | ||
|
||
slaveof 127.0.0.1 <%= master_port %> | ||
slave-serve-stale-data no | ||
|
||
<% end %> | ||
maxclients 16 | ||
appendonly yes | ||
appendfilename <%= $project_root %>/redis/<%= appendfilename %> | ||
appendfsync everysec | ||
no-appendfsync-on-rewrite no | ||
vm-enabled no | ||
vm-swap-file <%= $project_root %>/redis/<%= vm_swap_file %> | ||
vm-max-memory 0 | ||
vm-page-size 32 | ||
vm-pages 134217728 | ||
vm-max-threads 4 | ||
hash-max-zipmap-entries 512 | ||
hash-max-zipmap-value 64 | ||
list-max-ziplist-entries 512 | ||
list-max-ziplist-value 64 | ||
set-max-intset-entries 512 | ||
activerehashing yes |