From 9cad970b53849c4b1951e0248e2afd0ada171280 Mon Sep 17 00:00:00 2001 From: Anton Davydov Date: Thu, 9 Apr 2015 12:18:40 +0300 Subject: [PATCH] Add russian documentation for Multithreaded modes [skip ci] --- README.ru.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.ru.md b/README.ru.md index 503b5ffc..4499d7dc 100644 --- a/README.ru.md +++ b/README.ru.md @@ -2665,6 +2665,40 @@ ruby myapp.rb [-h] [-x] [-e ENVIRONMENT] [-p PORT] [-o HOST] [-s HANDLER] -x # включить мьютекс-блокировку (по умолчанию выключена) ``` +### Multi-threading + +_Данный раздел является перефразированным [ответом пользователя Konstantin][so-answer] на StackOverflow_ + +Sinatra не навязывает каких-либо моделей параллелизма, но для этих целей можно +использовать любой Rack обработчик, например Thin, Puma или WEBrick. Сама +по себе Sinatra потокобезопасна, поэтому нет никаких проблем в использовании +поточной модели параллелизма в Rack обработчике. Это означает, что когда +запускается сервер, вы должны указать правильный метод вызова для конкретного +Rack обработчика. Пример ниже показывает, как можно запустить мультитредовый +Thin сервер: + +```ruby +# app.rb + +require 'sinatra/base' + +class App < Sinatra::Base + get '/' do + "Hello, World" + end +end + +App.run! +``` + +Чтобы запустить сервер, вы должны выполнить следующую команду: + +```shell +thin --threaded start +``` + +[so-answer]: http://stackoverflow.com/questions/6278817/is-sinatra-multi-threaded/6282999#6282999) + ## Системные требования Следующие версии Ruby официально поддерживаются: