-
Improvement
-
Resolution: Fixed
-
Major
-
2.6
-
MOODLE_26_STABLE
-
MOODLE_26_STABLE
-
MDL-41151-master -
Packing and unpacking zip files (especially for backups) can take a long time. This causes serious problems such as timeouts. (See MDL-41147 and MDL-41087.)
The solution is to indicate progress during the zip/unzip process. During the unzip process, we can generally indicate numeric progress without slowing it down. During the zip process it is only possible to indicate 'indeterminate' progress, i.e. call a function once per file.
This will be sufficient to prevent system timeouts by resetting PHP time limit and outputting something to stop front-end servers from timing out and inform users that the operation is ongoing.
Implementing this requires a change to the file API.