Подобное «порождение потока» поведение в node.js
Я хочу добавить некоторые утилиты администратора в небольшое веб-приложение, например «Резервная копия базы данных». Пользователь нажимает кнопку, и HTTP-ответ возвращается немедленно, хотя потенциально длительный процесс был запущен в фоновом режиме.
В Java это, вероятно, будет реализовано путем создания независимого потока, в Scala с использованием Actor. Но какова подходящая идиома в node.js? (фрагмент кода приветствуется)
Сейчас я перечитываю документы, на самом деле это кажется вопросом узла 101, но именно здесь я и занимаюсь этим ... во всяком случае, чтобы уточнить, что это основной сценарий:
<code>function onRequest(request, response) { doSomething(); response.writeHead(202, headers); response.end("doing something"); } function doSomething(){ // long-running operation } </code>
Я хочу, чтобы ответ немедленно возвращался, оставляя doSomething () работающим в фоновом режиме.
Хорошо, учитывая однопоточную модель узла, которая не представляется возможной без порождения другого дочернего процесса уровня ОС. Мое недоразумение.
В моем коде то, что мне нужно для резервного копирования, в основном основано на вводе / выводе, поэтому узел должен обрабатывать это в хорошем асинхронном режиме. То, что я думаю, я сделаю, переместив doSomething после response.end, посмотрим, как это ведет себя.