Как я могу очистить memcache, используя capistrano? - PullRequest
7 голосов
/ 13 марта 2009

Я использую capistrano для развертывания моего приложения на машине, которая использует memcache. Я хочу, чтобы capistrano очистил memcache при развертывании новой версии сайта.

Ответы [ 4 ]

4 голосов
/ 13 марта 2009
2 голосов
/ 26 февраля 2010

Посмотрите на этот GIST, решает проблему: https://gist.github.com/matthuhiggins/668744

1 голос
/ 13 марта 2009

Не знаю capistrano, но разве вы не можете просто убить процесс memcached и создать новый? Лучше, вероятно, для удаления фрагментации также.

0 голосов
/ 07 июня 2013

Сьюзен Поттер выглядит неплохо 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
...