Я хочу сделать что-то вроде следующего: когда пользователь нажимает на кнопку, я отправляю запрос ajax на сервер, а сервер начинает делает фоновый ввод-вывод пока пользователь сразу получает ответ, говорит «он запущен». Это все для пользователя.Краткосрочные фоновые задания в Ruby или Rails с таймером
На сервере происходит фоновая операция. Операция должна выполняться, скажем, 10 раз за 10 минут. Это что-то вроде периодический опрос статуса чего-то, скажем, базы данных. В состоянии изменилось менее чем за 10 минут, операция должна немедленно остановить, так что это может быть 1 минута или 3 минуты. В противном случае операция продолжается. И самое большее - 10 раз в течение 10 минут.
I , конечно, не хотите использовать любые сторонние библиотеки, потому что я знаю, что могу сделать это с помощью чистого рубина или Rails. Не имеет значения, что это сложнее.
Как я могу это сделать?
Я знаю, я должен создать тему, но как именно я должен сделать эту часть "постоянно опрашивать статус чего-то в течение 10 минут максимум один раз в минуту, не более 10 раз, и если некоторое условие правда, тогда все готово, сразу закончите. "
Обратите внимание, что это упрощенная версия того, что я хочу, но идея в том, что я описал.
Вы можете использовать 'ActiveJob'. Посмотрите http://stackoverflow.com/questions/25798013/how-do-i-schedule-recurring-jobs-in-active-job-rails-4-2 –