Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-41151

Files: Zip packer should have way to indicate progress

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.6
    • 2.6
    • Files API
    • MOODLE_26_STABLE
    • MOODLE_26_STABLE
    • MDL-41151-master
    • Hide

      No test script for this API change - included in unit tests. There will be a test script for other improvements that rely on the new API.

      Note: To run relevant unit tests individually:

      vendor/bin/phpunit lib/filestorage/tests/zip_packer_test.php

      Show
      No test script for this API change - included in unit tests. There will be a test script for other improvements that rely on the new API. Note: To run relevant unit tests individually: vendor/bin/phpunit lib/filestorage/tests/zip_packer_test.php

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              quen Sam Marshall
              quen Sam Marshall
              Rajesh Taneja Rajesh Taneja
              Dan Poltawski Dan Poltawski
              Dan Poltawski Dan Poltawski
              Matteo Scaramuccia, David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                18/Nov/13