Skip to content
代码片段 群组 项目
提交 abeb782a 编辑于 作者: Vijay Hawoldar's avatar Vijay Hawoldar 提交者: Jarka Košanová
浏览文件

Adjust GitlabSubscription scope params

In order to effectively refresh subscriptions once per day we look for
subscriptions that have not been refreshed in over 18 hours to account
for the last enqueued job.
上级 99a1de8a
No related branches found
No related tags found
无相关合并请求
......@@ -44,8 +44,10 @@ class GitlabSubscription < ApplicationRecord
end
scope :requiring_seat_refresh, -> (limit) do
# look for subscriptions that have not been refreshed in more than
# 18 hours (catering for 6-hourly refresh schedule)
with_a_paid_hosted_plan
.where("last_seat_refresh_at < ? OR last_seat_refresh_at IS NULL", 24.hours.ago)
.where("last_seat_refresh_at < ? OR last_seat_refresh_at IS NULL", 18.hours.ago)
.limit(limit)
end
......
......@@ -68,10 +68,12 @@
let_it_be(:ultimate_subscription) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: nil) }
let_it_be(:ultimate_subscription_12_hours) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 12.hours.ago) }
let_it_be(:ultimate_subscription_2_days) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 2.days.ago) }
let_it_be(:ultimate_subscription_24_hours) { create(:gitlab_subscription, hosted_plan: ultimate_plan, last_seat_refresh_at: 24.hours.ago) }
let_it_be(:premium_subscription) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: nil) }
let_it_be(:premium_subscription_12_hours) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 12.hours.ago) }
let_it_be(:premium_subscription_2_days) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 2.days.ago) }
let_it_be(:premium_subscription_24_hours) { create(:gitlab_subscription, hosted_plan: premium_plan, last_seat_refresh_at: 24.hours.ago) }
let_it_be(:free_subscription) { create(:gitlab_subscription, :free, last_seat_refresh_at: 2.days.ago) }
let_it_be(:trial_subscription) { create(:gitlab_subscription, hosted_plan: ultimate_plan, trial: true, last_seat_refresh_at: 2.days.ago) }
......@@ -80,11 +82,13 @@
matching_subscriptions = [
ultimate_subscription,
ultimate_subscription_2_days,
ultimate_subscription_24_hours,
premium_subscription,
premium_subscription_2_days
premium_subscription_2_days,
premium_subscription_24_hours
]
expect(described_class.requiring_seat_refresh(4))
expect(described_class.requiring_seat_refresh(6))
.to match_array(matching_subscriptions)
end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册