Skip to content

Instantly share code, notes, and snippets.

@qichunren
Created March 10, 2011 10:33
Show Gist options
  • Save qichunren/863901 to your computer and use it in GitHub Desktop.
Save qichunren/863901 to your computer and use it in GitHub Desktop.
namespace :dev do
task :s do
sh "thin start -d -e production -p 5000"
end
task :stop do
sh "kill -9 `cat tmp/pids/thin.pid`"
end
desc 'Removes trailing whitespace'
task :whitespace do
sh %{find . -name '*.rb' -exec sed -i '' 's/ *$//g' {} \\;}
end
end
# encoding: utf-8
namespace :dev do
desc "start/restart thin server and delayed_job deamon for development mod, default thin port is 3000."
task :s => :environment do
dev_port = 3000
begin
sh "thin start -e development -d -p #{dev_port}"
rescue
puts "can't start thin at port #{dev_port}"
begin
sh "kill -9 `cat tmp/pids/thin.pid`"
rescue
sh "ps -ef | grep 'thin server' | egrep -v grep | awk '{print $2}' | xargs kill"
end
sh "thin start -e development -d -p #{dev_port}"
end
begin
sh "kill `cat tmp/pids/faye.pid`"
rescue
sh "ps -ef | grep rackup | egrep -v grep | grep faye | awk '{print $2}' | xargs kill"
end
begin
sh "rackup #{Rails.root + 'lib/faye_server.ru' } -s thin --pid #{Rails.root + 'tmp/pids/faye.pid'} -p #{MySetting.faye_server_port} -E production --daemonize"
rescue
puts "can't start faye at port #{MySetting.faye_server_port}"
end
# Rake::Task['jobs:work'].invoke rescue puts "can't start delayed_jobs with rake jobs:work"
end # end: task :s
desc "Stop thin daemon and faye daemon"
task :stop do
begin
sh "kill `cat tmp/pids/thin.pid`"
rescue
sh "ps -ef | grep 'thin server' | egrep -v grep | awk '{print $2}' | xargs kill"
end
begin
sh "kill `cat tmp/pids/faye.pid`"
rescue
sh "ps -ef | grep rackup | egrep -v grep | grep faye | awk '{print $2}' | xargs kill"
end
end
desc "Recrate and migrate db, waring: this will clear all current data in db."
task :reset_db do
Rake::Task['db:drop'].invoke
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
puts "Db has been reseted. Now you can rake db:seed"
end # end: task reset_db
desc "Start redis-server deamon."
task :redis_server do
sh "redis-server"
end
desc "Start juggernaut deamon."
task :juggernaut do
sh "#{Rails.root}/vendor/third/node_modules/.bin/juggernaut"
end
desc "Restart memcached deamon."
task :memcached do
sh "ps -ef | grep memcached | egrep -v grep | awk '{print $2 }' | xargs kill"
sh "/usr/local/bin/memcached -l localhost"
end
end # end namespace :dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment