Есть ли простая библиотека, которая позволит мне выполнять расписание очень простой задачи каждые х секунд, указанных в веб-запросе?Как сделать вызов метода каждые x секунд?
Я ищу что-то вдоль линий:
Something.after(5) { call_method }
Очень просто. Нужно ли устанавливать библиотеку, например resque, или есть библиотека, которая может справиться с этим? Я не ищу полную обработку очереди в фоновом режиме, просто вызов метода после x секунд. Я знаю о resque и sidekiq ...
Мне нужно запустить это из Rails или Sinatra.
Опишите, что вы имеете в виду под «указанный веб-запрос наступающем в». Разрешение входящего веб-запроса автоматически запускать задание, которое повторяется каждые X секунд, является хорошим способом позволить кому-то DOS вашей системе, быстро сделать его недоступным и непригодным для использования. У вас есть защита от этого? Настройка потока, который выполняется с интервалами, не будет сложной. Избежать ложных/повторных запросов сложнее. –
Возможно, камень [Whenever] (https://github.com/javan/whenever) - это то, что вы ищете? Не уверен, считаете ли вы это «полномасштабной обработкой фоновой очереди» или нет (возможно, так). – aceofbassgreg
Помимо других комментариев, если вы размещаете приложение на службе, например, Heroku, вам нужно будет учитывать, какие ограничения у них есть для таких случаев. В конкретном случае Heroku вам придется использовать Delayed Job (DJ) для этого, AFAIK. – fmendez