1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

GoodForNothing Shell Defer 1.0.4

Move XenForo's defer task to shell!

  1. Mr. Goodie2Shoes
    Compatible XF Versions:
    • 1.2
    • 1.3
    • 1.4
    • 1.5
    License:
    MIT License
    Visible Branding:
    No
    I actually made it a long time ago for a friend who wanted to make sure the cron entries run properly even without having any visitors for a day.

    And after seeing this thread, I wanted to post it to the public. :)

    The script will be executed in a loop until all the deferred process is completed. And a 'defer lock' will be created to make sure that only one instance of the defer process is running.

    To make the add-on work, all you have to do is upload the files from the upload directory.

    Import the XML file (which contains a simple template modification to remove the 'RunDeferred' class so that the defer does not get executed from the public side). You don't have to install the add-on XML if you want to keep defer call from public.

    Add a cron job to your server:
    Code:
    */2 * * * * php -q /home/username/public_html/cli/defer.php 2>&1
    
    You can set the execution time as you like... I think this is okay for a busy board.

    I didn't add any > /dev/null because no output is made from the defer.php file IF everything goes as planned. If there's any error, the script will try to log it into XenForo's Server Error Log, if it can't for some error, a message will be dispatched to the assigned email address to let the admin know something is wrong.
    allewreK, Alfa1, Marcus and 3 others like this.