Несовместимость Puma 2.9.2 и rufus-scheduler 3.0.3

Я использую Rufus Scheduler 3.0.3 в веб-приложении Ruby on Rails 4.1.4, и оно отлично работает с Unicorn. Я перешел на Puma, и это здорово, но я понял, что Rufus не работает с Puma (демонизированный).

Я прочитал этот выпуск № 183 (комментарий) https://github.com/puma/puma/issues/183#issuecomment-59386038, который закрыт для более ранней версии, но он все еще не работает, и мне не ясно, есть ли для него исправление.

Я пока не знаю, есть ли обходной путь.

ОБНОВЛЕНИЕ: не так много журналов для отображения, мои задачи планировщика rufus работают при работе с Unicorn, но если я сменю сервер на Puma, он не запускает никаких автоматизированных задач на моем ноутбуке. Даже нет никакого журнала, чтобы показать.

Я просто добавляю свой текущий файл планировщика Rufus:

task_scheduler.rb:

begin 

  require 'rufus-scheduler'

  scheduler = Rufus::Scheduler.new

  #Secretary responsible for executing events every 60 seconds.
  scheduler.every '60s' do
    Secretary.executeEvents
  end

  # Statistics (Owner) calculation every 1 day.
  scheduler.every '24h' do
    StatisticsCalculator.updateOwnerStatistics
  end
end

Я пропустил какую-либо конфигурацию?

Со стороны Puma у меня есть только этот файл конфигурации config/puma/development.rb только с этим:

 stdout_redirect 'log/puma.stdout.log', 'log/puma.stderr.log', true

Я не устанавливаю никаких рабочих и т. д.


person Rober    schedule 23.11.2014    source источник
comment
Проблема rufus-scheduler № 183 не существует вопросы/183   -  person jmettraux    schedule 24.11.2014
comment
попробуйте заменить свой файл secret.executeEvents несколькими простыми операторами ведения журнала, чтобы увидеть, появляются ли они, сделайте это очень простым и сообщите здесь, как вы это делаете. Предпочтительно использовать простой пут. Вы не упоминаете, какой Ruby вы используете, какую ОС вы используете, вы не говорите, как вы запускаете puma, вы не говорите, используете ли вы Sinatra или Rails... Проснись!   -  person jmettraux    schedule 24.11.2014
comment
Я не говорил, что проблема №183 на стороне Руфуса. Но со стороны Puma... ruby ​​2.1.2p95, rails 4.1.4, Mac OSX Mavericks. Я запустил демон Puma с пакетом exec puma -p 8080 -e development -S ~/puma -C config/puma/development.rb -d   -  person Rober    schedule 24.11.2014
comment
как сказано в комментариях ниже, вам не нужен Sinatra, вам не нужно вызывать configure, как это делаю я. Не смешивайте все. Пожалуйста, думайте как программист, а не как копипаст-монах.   -  person jmettraux    schedule 24.11.2014
comment
Меня начинает тошнить от ваших комментариев. Если я добавил этот код, то это потому, что, как я уже говорил, я ничего не знаю о Синатре, поэтому я не знал, что это связано с ним. Я добавил это просто, чтобы попробовать, потому что предполагается, что вы эксперт, и вы предлагаете мне. Итак, я удалю его, и он все равно не работает (конечно, в моей среде разработки). Я вижу, вы пытаетесь отредактировать мой пост, чтобы люди поняли, что возможная проблема не на стороне Руфуса. Вы предлагаете, наконец, есть проблема? Итак, каков ваш вердикт? Вставай!!   -  person Rober    schedule 24.11.2014
comment
Я вам ниже сказал, что Синатра вам вообще не нужна. Я вообще не предлагал вам добавлять этот код. Я дал вам мини-проект для тестирования, я не дал вам мини-проект для добавления в ваш собственный проект. Удачи!   -  person jmettraux    schedule 24.11.2014
comment
Смотрите мой ответ ниже.   -  person Rober    schedule 24.11.2014


Ответы (2)


Нет, это работает.

Я упаковал для вас этот пример проекта:

https://github.com/jmettraux/for_rober

Rufus-scheduler 3.0.3 прекрасно работает с Puma 2.9.2 (Ruby 1.9.3 в Debian GNU/Linux).

Спасибо, что не обвиняете чужую работу без фактов.

Если проблема действительно существует, я предлагаю вам перейти и прочитать http://www.chiark.greenend.org.uk/~sgtatham/bugs.html, затем прочитайте его еще раз три раза. Наверняка он доступен на вашем родном языке. Затем, если вы действительно считаете, что виноват rufus-scheduler, откройте подробный отчет о проблеме по адресу https://github.com/jmettraux/rufus-scheduler/issues Остерегайтесь публиковать дрянной материал «это не работает», это вызовет только негативную реакцию.

ОБНОВЛЕНИЕ:

Я настоятельно рекомендую вам клонировать мой мини-проект на свой компьютер и попробовать его, а затем сообщить о результатах здесь, в комментариях. Подробности в README.md проекта.

ОБНОВЛЕНИЕ:

Роберто пытается решить эту проблему параллельно, непосредственно на странице https://github.com/puma/puma/issues/607

person jmettraux    schedule 24.11.2014
comment
Привет, извиняюсь за название поста. Я просто предположил, согласно многим записям, которые я видел в истории проблем. Я обновил его. Спасибо за пример проекта, я вижу, что он работает. Тем не менее, есть пара отличий от моего. Смотрите мой обновленный пост выше для уточнения деталей. - person Rober; 24.11.2014
comment
Нет, Синатра вам вообще не нужен. Спасибо, что изменили название, оно меня взбесило. Если вам нужна помощь, вы несете ответственность за изложение всех соответствующих фактов. Если вы используете Rails, вам нужно указать, какую версию вы используете. Смотрите мой комментарий выше, прямо под вашим вопросом. - person jmettraux; 24.11.2014

Наконец, похоже, возникла небольшая проблема. Это было любезно исправлено ребятами из Puma.

См.: https://github.com/puma/puma/issues/607.

person Rober    schedule 24.11.2014
comment
Я все еще думаю, что вы должны очистить сам вопрос. Я добавил часть Синатры, которую вы добавили, сбивает с толку будущих читателей. - person jmettraux; 24.11.2014