Как мы можем добавить работу в sidekiq с помощью рельсов к определенной дате и времени с использованием времени db, я хочу отправлять электронные письма, когда приходит время встречи, так что будет лучшим подходом что?рельсы + sidekiq конкретная дата и время работы
ответ
Прикрепите дату назначения (или даже лучше конкретное уведомление о назначении datetime) к модели назначения.
Затем выполняйте фоновое задание в очереди каждую минуту, которая проверяет все неотправленные уведомления о закрытых событиях (например, события, в которых уведомление о назначении меньше, чем 1 минута в будущем и еще не отправлено), и для каждой очереди назначения отправляется электронное письмо для отправки.
Вы можете использовать sidekiq
в очереди сообщения электронной почты, и систему хрон, такие как clockwork
для епдиеей задач на sidekiq
проверять каждую минуту для отправлять уведомления.
Вы можете обратиться к родному Active Job API, представленному в рельсах 4.2 (которые идут перед Sidekiq).
Вы строите работу с API-интерфейсом rails, вы указываете в conf-файле, что используете sidekiq, а рельсы будут помещать задание в sidekiq.
Преимущества: Вы можете переключиться на другой драгоценный камень enqueuing, проще отложить работу в определенную дату, вы можете выполнить after_action, которые обычно находятся в профессиональной версии Sidekiq.
Смотрите учебник, чтобы узнать больше об этом: http://edgeguides.rubyonrails.org/active_job_basics.html
Быстрый пример:
# Enqueue a job to be performed tomorrow at noon. MyJob.set(wait_until: Date.tomorrow.noon).perform_later(record)
Надеется, что это поможет
не работает, неопределенный метод "набор" – user1735921
- 1. Рельсы 4 и конфигурация Sidekiq
- 2. Конкретная дата сравнения
- 3. Условия работы Sidekiq
- 4. Sidekiq, возвращающий идентификатор работы
- 5. Местная конкретная дата без года
- 6. Местная конкретная дата в jekyll
- 7. рельсы, не удается запустить sidekiq
- 8. MySQL Query Дата Great чем конкретная дата
- 9. Entity Framework IQueryable - конкретная дата
- 10. рельсы: тип дата и GetDate
- 11. Рельсы и рубин дата расчета
- 12. Ruby on Rails + Sidekiq: Как изменить запланированное время начала работы?
- 13. Работы Sidekiq застряли в очереди
- 14. Дата сравнения и дата-время
- 15. дата Рельсы дата выберите укоротить
- 16. Java Время Конкретная Среднее
- 17. DateTime проблема с PHP - Хранение Конкретная дата
- 18. Move sidekiq работы прямо в мертвую очередь
- 19. Получить enqueued_at внутри запланированной работы Sidekiq?
- 20. рельсы пользовательская дата валидация
- 21. Какая хорошая система работы Sidekiq для node.js?
- 22. Дата реформата Рельсы 4
- 23. Дата и время
- 24. Java Дата и время
- 25. PHP Время и дата
- 26. Дата и время поиска
- 27. дата и время
- 28. дата и время
- 29. Дата и время компиляции
- 30. Дата и время компиляции
Я нашел решение, как только назначение создается, вынимая разница с текущим временем и преобразование его в часах, а затем добавьте это время к новому заданию, которое будет выполнено после установленных часов. Пример: 'время = TimeDifference (Time.now - appointment_time) .in_hours' ' AppointmentsWorker.perform_in (time.hours) ' –