Как отключить консольный вывод на сервере разработки Rails 3? - PullRequest
0 голосов
/ 16 июня 2011

Как отключить консольный вывод в приложении Rails 3? В частности, я хочу отключить, по крайней мере, вывод Mailer, который выводит весь контент электронной почты, включая изображения, что значительно замедляет обработку действий (отправка электронной почты занимает почти 10 секунд).

ps: Я думаю, что замедление происходит из-за вывода, если оно может быть из другого источника, такого как медленный SMTP-сервер (это gmail atm, поэтому нет.) Или что-то подобное, пожалуйста, дайте мне знать.

Ответы [ 2 ]

6 голосов
/ 16 июня 2011

Это означает, что вы хотите скрыть вывод, показанный при запуске консоли, которую вы запускаете rails s (или script/server в rails 2)?

Вы работаете в Linux или OSX?

Если это так, то просто выполните следующее

$ rails server 1> /dev/null

, которое отправит весь вывод из stdout в черную дыру.

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

Попробуйте Mailcatcher http://mailcatcher.me/

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

0 голосов
/ 16 июня 2011

Ответ SMTP-сервера (даже Gmail) действительно может занять некоторое время. Вы бы предпочли использовать почтовую очередь, в которой все электронные письма хранятся в базе данных, а затем они отправляются независимым процессом.

например. https://github.com/beam/action-mailer-queue

Относительно логгера - убедитесь, что ваш уровень логирования: error или: fatal. Если нет, запустите:

config.log_level = :error

...