Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Task Scheduler Improvements #3704

JulienMoumne opened this Issue · 9 comments

2 participants

  1. Task parameters

It is currently not possible to schedule the execution of a method with parameters, see TaskScheduler.php#L98

This is required to be able to send PDF/HTML/SMS at different times, see #3706.

In a first iteration, only one parameter will be supported.

  1. Timetable cleanup

Tasks that are being scheduled are stored in the option table in the option name "TaskScheduler.timetable".

In future updates of Piwik, if a scheduled task is not needed anymore, it would not be removed from the option table.

  1. Do not execute a newly created task

Currently, if a task has never been executed, it will be executed as soon as the runTasks() method retrieves the new task via the Piwik_PostEvent() method.

See TaskScheduler.php#L80 :

 * Task has to be executed if :
 *      - it is the first time, ie. rescheduledTime is not set
 *  - that task has already been executed and the current system time is greater than the
 *    rescheduled time.

The task should only be scheduled and not run.

Note: do not break the $forceScheduledTasks feature.


(In [7790]) fixes #3704 #3706


(In [7791]) refs #3704 #3706 r7790 missing test updates


(In [7792]) refs #3704 #3706 r7790 time() in unit tests needs to be made invariant for slow machines


(In [7803]) I can replicate failure locally by executing: phpunit --filter TaskScheduler
Temporarily disabling the tests that stub the Option object, which I think may be causing the problem? refs #3704 #3706


(In [7808]) small UX chagne + trigger update refs #3704 #3706


(In [7810]) Re-enabling tests refs #3704 #3706


(In [7813]) refs #3704 #3706 r7790

  • fix test for slow execution
  • re-enable tests

(In [7814]) refs #3704 #3706 r7790 restore event dispatcher & piwik options


(In [7820]) refs #3704 #3706 r7790 restore Piwik_PDFReports_API

@JulienMoumne JulienMoumne added this to the 1.x - Piwik 1.x milestone
@JulienMoumne JulienMoumne self-assigned this
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.