2016-07-17 3 views
0

У меня есть приложение Rails, которое требует, чтобы пользователь передавал входные данные, которые определяют, как часто запланировано действие (например, один месяц, три месяца, шесть месяцев и т. Д.) Я использую Sidekiq для запуска задания резервного копирования и интегрированный Sidetiq для планирования. Как оказалось (что-то, что я понял только после его полного интегрирования), Sidekiq имеет проблемы с повторяющимися задачами, изначально требующими пользовательского ввода. Он будет работать нормально в первый раз, но когда дело доходит до запуска через три месяца, аргументы, которые имеет метод, - это (time_last_run, time_of_next_run), и это проблема для меня, потому что мне нужны детали пользователя, переданные в повторяющееся действие. Это обсуждается автором Сайдкика в этом выпуске несколько лет назад: https://github.com/tobiassvn/sidetiq/issues/37Передача пользовательских аргументов в Sidekiq

Это оставляет меня довольно утерянным. Это мое первое приложение Rails, и я не уверен, как еще выполнить повторяющиеся фоновые задачи с использованием пользовательского ввода. Как вы можете видеть, проблема Sidetiq все еще не решена, и я не уверен в каких-либо действительных альтернативах. Кто-нибудь знает, как я могу написать обходное решение для этого? Иными словами, как еще я мог реализовать эту функциональность (с Sidetiq или без нее)?

ответ

0

Я предполагаю, что вы хотите запустить работу после некоторой фиксированной продолжительности. Это может быть достигнуто с помощью метода Sidekiq.perform_in, вам нужно передать время в секундах как первый параметр, а затем оставить все параметры, как вы обычно проходите.

Надеюсь, это то, что вы ищете.

Смежные вопросы