Задача Rake для запуска сервера в независимом потоке, а затем уничтожение потока после завершения задачи?

Как запустить поток в rake task, а затем убить поток, когда задача будет завершена.

По сути, я пишу rake task для тестирования сайта jekyll. Я хотел бы иметь возможность запустить сервер, выполнить некоторые другие задачи, а затем уничтожить поток, когда задача будет выполнена. Вот что у меня есть до сих пор:

task :test_site do
  `ejekyll --server`
  `git -Xdn`
  if agree( "Clean all ignored files?")
    git -Xdf
  end
end

но, к сожалению, единственный известный мне способ остановить jekyll --server — это использовать ctrl c. Я был бы рад услышать о способе остановить jekyll --server в поместье, которое не выходит из задачи rake, но, пожалуйста, просто прокомментируйте, поскольку вопрос конкретно касается задач потоковой передачи и rake.


person rudolph9    schedule 04.05.2012    source источник


Ответы (1)