diff options
Diffstat (limited to 'app/workers/remove_expired_members_worker.rb')
-rw-r--r-- | app/workers/remove_expired_members_worker.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/workers/remove_expired_members_worker.rb b/app/workers/remove_expired_members_worker.rb new file mode 100644 index 00000000000..30486b9e8a3 --- /dev/null +++ b/app/workers/remove_expired_members_worker.rb @@ -0,0 +1,13 @@ +class RemoveExpiredMembersWorker + include Sidekiq::Worker + + def perform + Member.includes(:created_by).where("expires_at <= ?", Time.current).find_each do |member| + begin + Members::DestroyService.new(member, member.created_by).execute + rescue => ex + logger.error("Expired Member ID=#{member.id} cannot be removed - #{ex}") + end + end + end +end |