phillc / klarlack forked from schoefmax/klarlack
- Source
- Commits
- Network (3)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
phillc (author)
Fri Nov 06 09:09:03 -0800 2009
klarlack /
| name | age | message | |
|---|---|---|---|
| |
.document | Fri Apr 03 12:07:45 -0700 2009 | |
| |
.gitignore | Fri Apr 03 12:07:45 -0700 2009 | |
| |
LICENSE | Fri Apr 03 12:07:45 -0700 2009 | |
| |
README.rdoc | ||
| |
Rakefile | Thu Apr 23 05:54:41 -0700 2009 | |
| |
VERSION.yml | ||
| |
klarlack.gemspec | ||
| |
lib/ | ||
| |
recipes/ | ||
| |
spec/ | ||
| |
tasks/ |
README.rdoc
klarlack
Klarlack is a ruby client library for the varnish administration interface.
See also: www.varnish-cache.org
Please note: You need at least version 2.0.3 of varnish for purging to work.
Installation
sudo gem install schoefmax-klarlack --source=http://gems.github.com
Example
Lets purge all blog posts from the cache…
require 'rubygems' require 'klarlack' varnish = Varnish::Client.new '127.0.0.1:6082' # the regexp is not a ruby regexp, just a plain string varnishd understands varnish.purge :url, "^/posts/.*"
In a Rails app, you might want to use use this in a cache sweeper.
Specs
Start up a local varnishd with -T 127.0.0.1:6082. Then run
spec spec
TODO
- Support authentication when varnishd is started with -S
- Make parameter manipulation/display more friendly
WTF?
MClient
config/varnish.yml
development:
cache1:
port: 6082
host: localhost
test:
cache1:
port: 6082
host: localhost
production:
cache1:
port: 6082
host: localhost
cache2:
port: 6083
host: 127.0.0.1
Lets purge all blog posts from all cache servers…
require 'rubygems'
require 'klarlack'
>> varnish = Varnish::MClient.new
=> #<Varnish::MClient:0x26c9fc4 @config={:cache2=>{"port"=>6083, "host"=>"127.0.0.1"}, :cache1=>{"port"=>6082, "host"=>"localhost"}}, @servers={:cache2=>#<Varnish::Client:0x26c0668 @keep_alive=false, @timeout=1, @mutex=#<Mutex:0x26c0564>, @port=6083, @host="127.0.0.1">, :cache1=>#<Varnish::Client:0x26c04c4 @keep_alive=false, @timeout=1, @mutex=#<Mutex:0x26c03d4>, @port=6082, @host="localhost">}>
>> varnish.purge :url, "^/posts/.*"
=> {:cache2=>true, :cache1=>true}
Copyright
Copyright © 2009 Max Schöfmann. Distributed under the MIT-License
Modified by Phillip Campbell

