Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
def2d556
Commit
def2d556
authored
Jan 08, 2019
by
Lin Jen-Shin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adopt Fugit to replace Rufus::Scheduler
parent
dbecca8e
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
11 deletions
+14
-11
Gemfile.lock
Gemfile.lock
+3
-3
changelogs/unreleased/update-sidekiq-cron.yml
changelogs/unreleased/update-sidekiq-cron.yml
+6
-0
doc/user/project/pipelines/schedules.md
doc/user/project/pipelines/schedules.md
+1
-1
lib/gitlab/ci/cron_parser.rb
lib/gitlab/ci/cron_parser.rb
+2
-5
spec/sidekiq/cron/job_gem_dependency_spec.rb
spec/sidekiq/cron/job_gem_dependency_spec.rb
+2
-2
No files found.
Gemfile.lock
View file @
def2d556
...
@@ -185,7 +185,7 @@ GEM
...
@@ -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
...
@@ -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)
...
...
changelogs/unreleased/update-sidekiq-cron.yml
0 → 100644
View file @
def2d556
---
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
doc/user/project/pipelines/schedules.md
View file @
def2d556
...
@@ -3,7 +3,7 @@
...
@@ -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.
...
...
lib/gitlab/ci/cron_parser.rb
View file @
def2d556
...
@@ -35,7 +35,7 @@ module Gitlab
...
@@ -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
...
@@ -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
...
...
spec/sidekiq/cron/job_gem_dependency_spec.rb
View file @
def2d556
...
@@ -2,7 +2,7 @@ require 'spec_helper'
...
@@ -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
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment