Хорошо ли играет mod_perl с Moose? - PullRequest
1 голос
/ 15 ноября 2011

Я начал изучать Perl с основ, затем обнаружил и изучил Moose, написал целое приложение с Moose, только чтобы обнаружить, что оно должно работать под mod_perl. Поэтому я выкидываю свой код на серверы с помощью mod_perl, и целая куча вещей работает неправильно. С одной стороны, информация о сеансе повреждена, а вещи, которые должны были быть остановлены, - и просто куча других проблем.

Что в общем случае должно произойти, кроме того, чтобы отбросить глобальные переменные, чтобы сделать функцию кода, как это предусмотрено в mod_perl? Хорошо ли играет mod_perl с Moose? Есть ли какие-нибудь ошибки с Moose под mod_perl или странные вещи из mod_perl, на которые мне нужно обратить внимание?

Одна вещь, которую я до сих пор узнал, состоит в том, что, поскольку код компилируется и создается в пространстве имен Apache, глобальные переменные фактически никогда не уничтожаются - и вы должны очистить их, инициируя их = /

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Да, Лось - это всего лишь Perl.Любые предостережения, которые применяются в mod_perl с кодом, отличным от Moose, также применимы к Moose.

Проблема с глобальными именами, которую вы упомянули, не имеет ничего общего с Moose.

1 голос
/ 30 ноября 2011

Мы успешно используем Moose с mod_perl.

Я выделю некоторый контекст - это довольно часто ...

  • RedHat Enterprise 5
  • Apache httpd 2.2.19 + mod_perl
  • Perl 5.8.8
  • передовые CPAN-зависимости для всего остального (включая Moose) через local :: lib
  • весь код и большая часть контекста загружены перед разветвлением

Я не могу говорить об утечке памяти и т. Д. У нас MaxRequestsPerChild = 1000, но я никогда не был там, где не было установлено что-то вменяемое.

Наш набор тестов не касается Apache (Plack очень помогает).

...