-
New Feature
-
Resolution: Fixed
-
Critical
-
2.0.3, 2.3, 3.4, 3.7
-
MOODLE_20_STABLE, MOODLE_23_STABLE, MOODLE_34_STABLE, MOODLE_37_STABLE
-
MOODLE_37_STABLE
-
master_
MDL-28505_Asynchronous_backup_and_restore -
It would be great if user-performed course backups could be asynchronous, as in, the request returns instantly with a message that the backup is "queued". The user can then return to the backups page later to check if the backup is complete. There could be an AJAX interface to prevent them from needing to hit refresh.
The back-end would be implemented in a process-queue. The advantage being:
- Long-running backup processes do not hold up apache threads and use excessive memory/cpu on page-serving nodes which can effect other page requests.
- The user's session is not locked during the time that the backup is running
- It prevents all issues relating to max execution time, load balancer idle timeouts, partially completed backups, that can make course backups/restores fail.
- It would allow the process queue to be scaled by adding more servers that pull from the queue.
It is pretty common amongst large-scale web applications to not 'block' on long-running operations - but rather to return instantly and send a job to a back-end process queue.
Features/ Functionality:
- Site option to enable Asynchronous backup/restores. Defaults to off to not break anyone's current workflows.
- Course and activity backups and restores are now asynchronous. Processing of asynchronous backups are processed by ad-hoc scheduled tasks. (Each backup or restore action queues a new ad-hoc task)
- Backup / Restore progress is updated in the user interface via Ajax.
- User interface is not session locked during backup and restores.
- A user cannot queue up multiple copies of a backup of the same resource (course or activity). Only one backup of a resource can be done by a user at a time.
- When a course that either has a backup pending or in process is put into edit mode, a warning notification is displayed to the user; about the risks of editing while a backup is in progress (This is an issue in Moodle currently)
- An option to send an message to users when a back/restore to complete. Uses Moodle message API
- Notification message template can be customised and can use placholders e.g. {user_firstname}
- caused a regression
-
MDL-65321 Memory used and files included increase detected in all course view requests
- Closed
-
MDL-65498 phpunit failures in backup
- Closed
-
MDL-65649 "Notice: Trying to get property 'id' of non-object in /..../backup/restore.php on line 176
- Closed
-
MDL-71562 adhoc course_backup_task causing performance issues
- Closed
- has a non-specific relationship to
-
MDL-35773 Include files option in backup settings
- Closed
- has been marked as being related by
-
MDL-60649 Course Restore locks Session Incorrectly
- Closed
-
MDL-65692 Asynchronous course backup/restore email message settings are empty by default
- Closed
-
MDL-64843 Course Copy User Interface
- Closed
- has to be done before
-
MDL-64914 Asynchronous course backup webservices
- Closed
-
MDL-64915 Asynchronous course restore webservices
- Closed
-
MDL-64916 Asynchronous duplicate webservices
- Closed
- will help resolve
-
MDL-56537 Duplicate course button in course and category management frontend
- Closed
-
MDL-64310 Avoid recycle bin locking the user's session during activity deletion or backup/restore (when it is enabled)
- Closed