Запустить процесс в фоновом режиме с помощью задачи Rake - PullRequest
0 голосов
/ 08 января 2020

Я загружаю заказы из Amazon с rake task, который создает бесконечное l oop и прерывается только в случае ошибки. Однако мне нужно, чтобы эта задача работала в фоновом режиме самостоятельно. Первоначально я думал создать fork и выполнить там мой код ruby, но я понимаю, что это может привести к процессу zomb ie. Итак, чтобы устранить это, я должен использовать Process.wait (pid), который затем не позволяет моему рейку по-настоящему работать в фоновом режиме. Как это можно сделать? Вот мой код:

namespace :api_data_downloader do
  desc "TODO"
  task start: :environment do
      pid = fork do
           while true
               #poll API here and wait random amounts of time under certain conditions. 
           end
      end

      Process.wait(pid)

  end
end
...