Как запустить и остановить приложение Sinatra с помощью Thin в Windows?

class App < Sinatra::Base
  def hello
    "world"
  end
end

Из документации я обнаружил, что могу запустить приложение следующим образом:

App.run

Хотя это не возвращает управление.

Как запустить приложение в фоновом режиме и как потом его остановить.

Моя среда: Windows, Ruby 1.9.2


person Prakash Raman    schedule 22.02.2011    source источник
comment
что означает контроль возврата? как в командной строке? Кроме того, код, который у вас есть, далеко не в состоянии работать.   -  person Paul Hoffer    schedule 22.02.2011
comment
Работает ли тонкий даже в Windows?   -  person craigp    schedule 26.02.2011


Ответы (2)


Используйте файл config.ru, как предложил Дмитрий Максимов:

#config.ru
require './your_app_file'

run YourApp

И затем начните с rackup -D, что означает демонизировать, и поэтому он работает в фоновом режиме.

Я бы не рекомендовал это для разработки, хотя. Лучше взгляните на Shotgun.

person scable    schedule 31.03.2011
comment
Как остановить его после того, как его демонизировали? - person Ian Vaughan; 14.10.2014
comment
code.macournoyer.com/thin/usage Я не могу проверить прямо сейчас. Но комбинация thin start -C ... с конфигурационным файлом и демонизацией должна дать вам возможность остановить его чем-то вроде thin stop -C ... - person scable; 14.10.2014

Создайте в верхней директории вашего приложения файл в стойке — config.ru — следующего содержания:

# config.ru
$: << File.expand_path(File.dirname(__FILE__))

require 'your app'
run Sinatra::Application

Затем просто запустите приложение с помощью thin start

person Dmitry Maksimov    schedule 22.02.2011
comment
тонкий старт, кажется, держит управление, похоже, он не работает в фоновом режиме. - person Prakash Raman; 02.03.2011