Я собираюсь использовать timeout
, как мне было сообщено в моем first question. Поэтому, если человек просматривает сообщение, он будет записан в список людей, которые просматривают один и тот же пост, и эта запись будет истекла через определенный промежуток времени (например, 5 минут).Автоматически удалять запись через несколько минут
Кто-то посоветовал мне использовать cache
для достижения этого, но я думаю, что постараюсь сделать это с ассоциациями Rails, например, следующим образом.
post has_many readers
И в PostsController#Show
@post.readers.create(user: current_user)
и мне нужно, чтобы сделать эту запись, чтобы быть истек через 5 минут, так что current_user будут удалены из post.readers автоматически.
Это правильный подход? Также, как мне установить модель Reader
, чтобы любая запись была удалена через 5 минут?
Но как я могу определить, когда я должен запустить «очистку», чтобы устранить «читателей»? –
Задача запускается периодически (например, каждые 24 часа) и удаляет все записи в таблице 'читателей', которые были созданы до 5 минут назад. – alf
Спасибо. Я думаю, что это самый простой способ справиться с этой проблемой. Но я все еще немного не уверен, как я могу периодически запускать определенную работу в своем приложении, не прибегая к призыву к действию. –