Frage

Ich benutze Capistrano meine App zu einer Maschine bereitstellen, die memcache verwendet. Ich möchte Capistrano memcache löschen, wenn es eine neue Version der Website setzt.

War es hilfreich?

Lösung

Werfen Sie einen Blick auf diesem GIST löst das Problem: https://gist.github.com/matthuhiggins / 668.744

Andere Tipps

Sie wissen nicht, Capistrano, kann aber nicht einfach in dem Memcached Prozess töten und laichen einen neuen? Bessere wahrscheinlich auch Fragmentierung zu entfernen.

Dieses, von Susan Potter sieht ziemlich gut https://gist.github.com/rays/154570

# 2007 Copyright Susan Potter <me at susanpotter dot net>
# You can read her software development rants at: http://geek.susanpotter.net
# Released under CreativeCommons-attribution-noncommercial-sharealike license:
# http://creativecommons.org/licenses/by-nc-sa/1.0/
namespace :memcached do
  desc "Restart the Memcache daemon"
  task :restart, :roles => :app do
    deploy.memcached.stop
    deploy.memcached.start
  end

  desc "Start the Memcache daemon"
  task :start, :roles => :app do
    invoke_command "memcached -P #{current_path}/log/memcached.pid  -d", :via => run_method
  end

  desc "Stop the Memcache daemon"
  task :stop, :roles => :app do
    pid_file = "#{current_path}/log/memcached.pid"
    invoke_command("killall -9 memcached", :via => run_method) if File.exist?(pid_file)
  end
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top