Adopt Fugit to replace Rufus::Scheduler
This commit is contained in:
parent
dbecca8eb7
commit
def2d5565e
5 changed files with 14 additions and 11 deletions
|
@ -185,7 +185,7 @@ GEM
|
||||||
erubi (1.7.1)
|
erubi (1.7.1)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
escape_utils (1.2.1)
|
escape_utils (1.2.1)
|
||||||
et-orbi (1.1.6)
|
et-orbi (1.1.7)
|
||||||
tzinfo
|
tzinfo
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
excon (0.62.0)
|
excon (0.62.0)
|
||||||
|
@ -258,8 +258,8 @@ GEM
|
||||||
foreman (0.84.0)
|
foreman (0.84.0)
|
||||||
thor (~> 0.19.1)
|
thor (~> 0.19.1)
|
||||||
formatador (0.2.5)
|
formatador (0.2.5)
|
||||||
fugit (1.1.6)
|
fugit (1.1.7)
|
||||||
et-orbi (~> 1.1, >= 1.1.6)
|
et-orbi (~> 1.1, >= 1.1.7)
|
||||||
raabro (~> 1.1)
|
raabro (~> 1.1)
|
||||||
fuubar (2.2.0)
|
fuubar (2.2.0)
|
||||||
rspec-core (~> 3.0)
|
rspec-core (~> 3.0)
|
||||||
|
|
6
changelogs/unreleased/update-sidekiq-cron.yml
Normal file
6
changelogs/unreleased/update-sidekiq-cron.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Update sidekiq-cron to 1.0.4 and use fugit to replace rufus-scheduler to parse
|
||||||
|
cron syntax
|
||||||
|
merge_request: 24235
|
||||||
|
author:
|
||||||
|
type: other
|
|
@ -3,7 +3,7 @@
|
||||||
> **Notes**:
|
> **Notes**:
|
||||||
> - This feature was introduced in 9.1 as [Trigger Schedule][ce-10533].
|
> - This feature was introduced in 9.1 as [Trigger Schedule][ce-10533].
|
||||||
> - In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853].
|
> - In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853].
|
||||||
> - Cron notation is parsed by [Rufus-Scheduler](https://github.com/jmettraux/rufus-scheduler).
|
> - Cron notation is parsed by [Fugit](https://github.com/floraison/fugit).
|
||||||
|
|
||||||
Pipeline schedules can be used to run a pipeline at specific intervals, for example every
|
Pipeline schedules can be used to run a pipeline at specific intervals, for example every
|
||||||
month on the 22nd for a certain branch.
|
month on the 22nd for a certain branch.
|
||||||
|
|
|
@ -35,7 +35,7 @@ module Gitlab
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# cron_timezone can only accept timezones listed in TZInfo::Timezone.
|
# cron_timezone can only accept timezones listed in TZInfo::Timezone.
|
||||||
# Aliases of Timezones from ActiveSupport::TimeZone are NOT accepted,
|
# Aliases of Timezones from ActiveSupport::TimeZone are NOT accepted,
|
||||||
# because Rufus::Scheduler only supports TZInfo::Timezone.
|
# because Fugit::Cron only supports TZInfo::Timezone.
|
||||||
#
|
#
|
||||||
# For example, those codes have the same effect.
|
# For example, those codes have the same effect.
|
||||||
# Time.zone = 'Pacific Time (US & Canada)' (ActiveSupport::TimeZone)
|
# Time.zone = 'Pacific Time (US & Canada)' (ActiveSupport::TimeZone)
|
||||||
|
@ -47,10 +47,7 @@ module Gitlab
|
||||||
# If you want to know more, please take a look
|
# If you want to know more, please take a look
|
||||||
# https://github.com/rails/rails/blob/master/activesupport/lib/active_support/values/time_zone.rb
|
# https://github.com/rails/rails/blob/master/activesupport/lib/active_support/values/time_zone.rb
|
||||||
def try_parse_cron(cron, cron_timezone)
|
def try_parse_cron(cron, cron_timezone)
|
||||||
cron_line = Rufus::Scheduler.parse("#{cron} #{cron_timezone}")
|
Fugit::Cron.parse("#{cron} #{cron_timezone}")
|
||||||
cron_line if cron_line.is_a?(Rufus::Scheduler::CronLine)
|
|
||||||
rescue
|
|
||||||
# noop
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,7 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe Sidekiq::Cron::Job do
|
describe Sidekiq::Cron::Job do
|
||||||
describe 'cron jobs' do
|
describe 'cron jobs' do
|
||||||
context 'when rufus-scheduler depends on ZoTime or EoTime' do
|
context 'when Fugit depends on ZoTime or EoTime' do
|
||||||
before do
|
before do
|
||||||
described_class
|
described_class
|
||||||
.create(name: 'TestCronWorker',
|
.create(name: 'TestCronWorker',
|
||||||
|
@ -10,7 +10,7 @@ describe Sidekiq::Cron::Job do
|
||||||
class: Settings.cron_jobs[:pipeline_schedule_worker]['job_class'])
|
class: Settings.cron_jobs[:pipeline_schedule_worker]['job_class'])
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does not get "Rufus::Scheduler::ZoTime/EtOrbi::EoTime into an exact number"' do
|
it 'does not get any errors' do
|
||||||
expect { described_class.all.first.should_enque?(Time.now) }.not_to raise_error
|
expect { described_class.all.first.should_enque?(Time.now) }.not_to raise_error
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue