Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Perth Hackfest October 2012/Asynchronous Backup System spec: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 1: Line 1:
== Introduction ==
This page details a proposal to introduce a new plugable backup system that would allow for backup/restore to be handled asynchronously.


== Purpose ==
== Purpose ==
Line 16: Line 14:


== Design Ideas ==
== Design Ideas ==
* Need a new cron system, if cron is to be used, so that more control over when and how long tasks can run.
** (Note: ELIS has an improved cron system that could be looked at that can break up long running tasks and allow scheduling)

Revision as of 22:18, 12 November 2012

Purpose

The Moodle backup and restore system is a powerful and resource-intensive system. On large, busy sites, the active use of backup and restore can significantly impact successful operation by negatively impacting performance. Often times the necessary workflows of an organization using Moodle requires backup and restore being peformed at the same time as a peak user period (e.g. educational institution setting up a new session while previous session carrying out an exam period).

Also, very large backup operations can time-out in the web environment, preventing operations from successfully completing.

As a solution, backup and restore could be redesigned in a way that would allow for these operations to be scheduled and handled asynchronously rather than synchronously on-demand. This system would also allow for the prevention of synchronous backups as specified by the site administrators.

Requirements

  • Ability to run the backup/restore operations in a "managed" (scheduled and queued) way to reduce impact on Moodle performance.
  • Ability to separate the backup/restore operations from synchronous operation on the Moodle server.
  • Ability to monitor progress and notify completion and other status of operations.
  • Ability to disable synchronous backup/restore (live) functions from specified users.

Design Ideas

  • Need a new cron system, if cron is to be used, so that more control over when and how long tasks can run.
    • (Note: ELIS has an improved cron system that could be looked at that can break up long running tasks and allow scheduling)