• The new Python extension is now available. It allows customers to deploy and manage WSGI-based Python applications on their websites directly from Plesk.
  • The Plesk Mobile apps for iOS and Android and the Plesk Mobile Center extension have been deprecated, and are no longer available for new installations. In Plesk Obsidian 18.0.84, the Plesk Mobile Center extension will be removed from servers during the upgrade, and the Plesk Mobile apps will lose their server management features.
  • The Social Login extension has been deprecated and will be removed in Plesk Obsidian 18.0.84. After that, it will no longer be possible to log in to Plesk with a Google, Facebook, GitHub account, or with a passkey. Plesk usernames and passwords, as well as logging in with a WebPros Account, are not affected.

Issue Scheduled tasks with "cron style" every 5 minutes stop running after the DST change

Alfonso Uritec

New Pleskian
Server operating system version
Windows Server 2019 Standard
Plesk version and microupdate number
Version 18.0.81 Update #4v
On Sunday 25 October 2026, when the clocks went back (03:00 CEST -> 02:00 CET), every scheduled task we have with a "cron style" expression of 5 minutes stopped running and did not recover on its own. We lost about 9 hours of maintenance on three sites before we noticed.

Every other Plesk task on the same server kept working normally: daily backups, hourly jobs, Plesk's own maintenance tasks. Those are the ones whose triggers have explicit start times and no <Repetition> element.

Symptoms (Get-ScheduledTaskInfo)
State : Ready <- not Running, nothing was stuck
LastRunTime : 25/10/2026 1:35:35 <- frozen, ~1h25m before the change
NextRunTime : kept moving forward every 5 minutes
NumberOfMissedRuns : increased by 1 every 5 minutes (109 when we found it)
LastTaskResult : 0

So the trigger kept firing on time, but every single run was rejected. No error, no notification e-mail, nothing in the Plesk interface: the task simply looked fine.

The trigger Plesk generates for these tasks:

<CalendarTrigger>
<StartBoundary>2026-10-25T01:00:00</StartBoundary>
<Repetition>
<Interval>PT5M</Interval>
<Duration>P1D</Duration>
</Repetition>
<ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
</CalendarTrigger>

The StartBoundary has no time zone and the repetition window is one day long, starting at 01:00 on the very day of the change.

How to reproduce
Create a task with cron style "0,5,10,15,20,25,30,35,40,45,50,55 * * * *" (the expression your own KB recommends for Windows), fetching any URL. Set the server to a time zone with DST and let it cross the autumn change. The task stops about 35 minutes after the StartBoundary of that day and never resumes.


After discovering the issue we disabled and re-enabled the tasks and that fixed the issue; the task runs again immediately and NumberOfMissedRuns goes back to 0.


Could Plesk generate these triggers either with an unlimited repetition duration or with the start boundary synchronized across time zones?

As it is, every 5-minute task on our server silently dies twice a year, and since the task reports State=Ready and LastTaskResult=0 there is nothing to alert on.
 
Hey,

the trigger layout looks like the culprit. Plesk creates a repetition window of exactly one day (Duration P1D) anchored at a StartBoundary without a time zone, and on the day of the DST change that window starts at 01:00. Tasks without a Repetition element have no such window, which would explain why they keep running. Disable + enable re-registers the trigger and opens a fresh window, so that's the quick fix.

State and LastTaskResult look fine, so the only reliable indicator is NumberOfMissedRuns. This re-registers every enabled task that has a repetition interval and piles up missed runs:

Code:
Get-ScheduledTask | Where-Object { $_.State -ne 'Disabled' -and ($_.Triggers | Where-Object { $_.Repetition.Interval }) } | ForEach-Object { if (($_ | Get-ScheduledTaskInfo).NumberOfMissedRuns -gt 3) { $_ | Disable-ScheduledTask | Out-Null; $_ | Enable-ScheduledTask | Out-Null } }

Run it from a task with an indefinite repetition (no Duration) or a plain daily trigger, otherwise the watchdog can hit the same bug.

Worth reporting to Plesk support: generating the trigger with an indefinite repetition should avoid the one-day window.

Regards
Tessa
 
Hey,

the forum is mostly users helping users, so it's not a reliable way to reach the devs.

Two options:

1) Open a ticket with Plesk Support: https://support.plesk.com/hc/en-us/articles/12377663472791

Direct Plesk customers get free support. If your license comes through a hosting provider, the ticket has to go through them (or you buy a support subscription from Plesk).

2) Post the change as a feature request: https://features.plesk.com/

Search first, vote if it already exists, otherwise create a new one.

Put these in the ticket:
  • Plesk 18.0.81 Update 4, Windows Server 2019
  • the trigger XML (StartBoundary, Interval PT5M, Duration P1D)
  • the symptoms: State Ready, LastTaskResult 0, NumberOfMissedRuns going up after the DST change
  • disable/enable fixes it
  • the request to generate these triggers with an indefinite repetition

Regards
Tessa
 
Back
Top