Мое предложение для этого было бы сделать это в рейк-задаче, которая будет запускаться на сервере один раз в день.
Вы можете найти хорошие ресурсы о том, как создавать рейк-задачи онлайн, а затем использовать этот простой gem, чтобы убедиться, что задача rake запускается один раз в день на сервере.
https://github.com/javan/whenever
Я предполагаю, что у вас есть модель Profile
. Вы можете использовать метки времени в этой модели created_at
, чтобы получить все профили, созданные в данный день. Затем вы можете создать CSV или что-то еще, что вам нравится, с этими данными и отправить их по электронной почте тому, кто нуждается в отчете (как вы обрабатываете данные, зависит от вас)
Вы можете сделать все вышеописанное в Sidekiq, если вы будете sh, я бы порекомендовал прочитать документацию по гемам и это руководство по началу работы с официальной вики https://github.com/mperham/sidekiq/wiki/Getting-Started
Это довольно просто, и как только вы запустите свой первый процесс, он начнет имеет больше смысла.
Я также настоятельно рекомендую это видео перед тем, как вы начнете работать с sidekiq и redis, чтобы дать вам общее представление о том, как работает sidekiq и в каких случаях это может быть полезно для вас.
https://www.youtube.com/watch?v=GBEDvF1_8B8