Tesla_Rails
@Tesla_Rails

Как написать Worker для смены статуса?

Имеется модель Order (заказ), у которой имеется поле "status" типа string.
Нужно написать воркер, который через определённое время будет менять статус у каждого заказа на следующий, до последнего. Статусы, думаю, стоит поместить в константу STATUSES = %w(in_progress approved shiped received). Ну и чтобы он работал на Heroku.

Как лучше всего это реализовать? Раньше не приходилось писать воркеры, поэтому пршу помощи у Вас. Заранее спасибо
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
eastywest
@eastywest
Backend developer
Используйте Sidekiq
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Biggless
И enum вместо констант.
Если требуется дополнительная логика при смене статусов - стейт-машину. Например, aasm.
Если смену надо делать в определенное время (например, через час после создания) - можно обойтись одним sidekiq. Если каждый час, либо в полночь - поможет clockwork.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы