select `id` from `bill` where `user_id`=123 and `time_create`>now() - interval 1 month and `payd`='n' limit 1;
before_action :update_last_seen
def update_last_seen
if current_user
if (Time.now - 3.hours) >= current_user.last_seen
current_user.last_seen = Time.now
current_user.save
end
end
Time.now - 3.hours
before_action
в ApplicationController
и при загрузки любой страницы, будут запускаться этот метод. every :month do
runner "User.set_bill" # метод выставления счета для пользователей по вашим параметрам
end
class MyWorker
include Sidekiq::Worker
include Sidetiq::Schedulable
recurrence { monthly }
def perform
# do stuff ...
end
end