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

Allow adhoc task management to be overriden



    • Type: New Feature
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: Future Dev
    • Fix Version/s: None
    • Component/s: Tasks


      Wanted to float this as an idea for core. It's a change we've been working with since the adhoc tasks system was introduced and it has proved very reliable for us.

      This patch introduces little change to the way adhoc tasks are run, but allows plugin developers to build new queue interfaces (for example, we use Redis, and originally used beanstalk).

      The reason for this change is that we quickly grew beyond a cron queue. We currently generate about 16 tasks per second during high load and having cron go through 960 tasks every minute is very impractical. We also have a need for improved response times for tasks such as Turnitin submissions where we don't want to wait for an available cron process to get round to processing the submission.

      In the core integration I've taken the approach of pulling it in the same way alternative file systems was implemented as I felt, after much thought, that one would never want multiple queues due to locking issues between them. You only want one queue in the same way you want one database driver, or one file system.




            • Votes:
              1 Vote for this issue
              4 Start watching this issue


              • Created: