Skip to content

Commit cd2deb2

Browse files
authored
Merge pull request #205 from dukhlov/periodic-work-delay-fix
Fix Cron periodic work to run at the beginning of each minute.
2 parents 0f7c5f6 + 962c138 commit cd2deb2

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

  • src/main/java/org/jenkinsci/plugins/parameterizedscheduler

src/main/java/org/jenkinsci/plugins/parameterizedscheduler/Cron.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,32 @@
22

33
import hudson.Extension;
44
import hudson.model.AbstractProject;
5-
import hudson.model.PeriodicWork;
5+
import hudson.model.AperiodicWork;
66
import hudson.triggers.Trigger;
77
import jenkins.model.Jenkins;
88
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
99

1010
import java.util.Calendar;
1111
import java.util.Collection;
1212
import java.util.GregorianCalendar;
13-
import java.util.concurrent.TimeUnit;
1413
import java.util.logging.Level;
1514
import java.util.logging.Logger;
1615

1716
@Extension
18-
public class Cron extends PeriodicWork {
17+
public class Cron extends AperiodicWork {
1918
private static final Logger LOGGER = Logger.getLogger(Cron.class.getName());
2019

20+
// time constants
21+
protected static final long MIN = 1000 * 60;
22+
23+
@Override
24+
public AperiodicWork getNewInstance() {
25+
return new Cron();
26+
}
27+
2128
@Override
2229
public long getRecurrencePeriod() {
23-
return TimeUnit.MINUTES.toMillis(1);
30+
return getInitialDelay();
2431
}
2532

2633
@Override
@@ -29,7 +36,7 @@ public long getInitialDelay() {
2936
}
3037

3138
@Override
32-
protected void doRun() {
39+
protected void doAperiodicRun() {
3340
Jenkins instance = Jenkins.get();
3441

3542
for (AbstractProject<?, ?> project : instance.allItems(AbstractProject.class)) {

0 commit comments

Comments
 (0)