Может ли сервер rails также запустить memcache, если он не запущен? - PullRequest
1 голос
/ 22 февраля 2011

Можете ли вы сделать так, чтобы команда 'rails server' также запускала memcached, если она не запущена?

Ответы [ 2 ]

3 голосов
/ 22 февраля 2011

Вы можете заставить этот скрипт делать много вещей, но это не значит, что это хорошая идея. Вы должны использовать инструмент, предназначенный для поддержания процессов, например, бог или монит .

В окне разработки я все еще, вероятно, не взломал бы свой сценарий rails, а вместо этого написал бы сценарий оболочки, который делает обе вещи для меня.

Редактировать: Отвечая на комментарии ниже.

Хорошо, вот самый простой из возможных сценариев оболочки. Вы можете хранить его где угодно (например, /usr/local/bin), но вы должны находиться в каталоге RAILS_ROOT, чтобы запустить его.

dev_servers.sh

#!/bin/bash
memcached -d
rails server
0 голосов
/ 22 февраля 2011

Вы могли бы создать инициализатор, который делает это:

# config/initializers/start_memcache.rb
if Rails.env.development?
  `/usr/local/bin/memcached -d -m 8 -l 127.0.0.1 &`
end

ПРЕДУПРЕЖДЕНИЕ : я не проверял это на пригодность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...