Skip to content
Code-Schnipsel Gruppen Projekte
  • Henning Leutz's avatar
    524889db
    feat: add cleanup cron history functionality · 524889db
    verfasst von Henning Leutz
    Added a new functionality to the QUI Cron system for cleaning up cron history. These changes
    include:
    - An additional cron task defined in `cron.xml` for housekeeping the cron history.
    - A new function called `cleanupCronHistory(array $params, Manager $CronManager)` in
    `QuiqqerCrons.php` that removes old cron history entries which are older than a defined amount of
    weeks.
    - Added a new field and additional indexes in the `cron_history` table in `database.xml` to support
    the new feature.
    - New localized messages are added for the cron cleanup task 'title' and 'description' in
    `locale.xml`.
    
    Related: #59
    524889db
    Verlauf
    feat: add cleanup cron history functionality
    verfasst von Henning Leutz
    Added a new functionality to the QUI Cron system for cleaning up cron history. These changes
    include:
    - An additional cron task defined in `cron.xml` for housekeeping the cron history.
    - A new function called `cleanupCronHistory(array $params, Manager $CronManager)` in
    `QuiqqerCrons.php` that removes old cron history entries which are older than a defined amount of
    weeks.
    - Added a new field and additional indexes in the `cron_history` table in `database.xml` to support
    the new feature.
    - New localized messages are added for the cron cleanup task 'title' and 'description' in
    `locale.xml`.
    
    Related: #59
database.xml 1,60 KiB
<?xml version="1.0" encoding="UTF-8"?>
<database>

    <global>
        <table name="cron">
            <field type="INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY">id</field>
            <field type="TINYINT(1)">active</field>
            <field type="VARCHAR(1000) NOT NULL">title</field>
            <field type="VARCHAR(128) NOT NULL">min</field>
            <field type="VARCHAR(128) NOT NULL">hour</field>
            <field type="VARCHAR(128) NOT NULL">day</field>
            <field type="VARCHAR(128) NOT NULL">month</field>
            <field type="VARCHAR(128) NOT NULL">dayOfWeek</field>
            <field type="TEXT NOT NULL">exec</field>
            <field type="TEXT NOT NULL">params</field>
            <field type="DATETIME NULL DEFAULT NULL">lastexec</field>

            <primary>id</primary>
        </table>

        <table name="cron_history">
            <field type="INT NOT NULL AUTO_INCREMENT PRIMARY KEY">id</field>
            <field type="INT(3) NOT NULL">cronid</field>
            <field type="VARCHAR(50) NOT NULL">uid</field>
            <field type="DATETIME NOT NULL">lastexec</field>
            <field type="DATETIME NULL DEFAULT NULl">finish</field>

            <primary>id</primary>
            <index>cronid</index>
            <index>lastexec</index>
            <index>uid</index>
        </table>

        <table name="cron_cronservice">
            <field type="INT(3) NOT NULL">cronid</field>
            <field type="VARCHAR(50) NOT NULL">uid</field>
            <field type="DATETIME NOT NULL">lastexec</field>

            <index>cronid</index>
        </table>
    </global>

</database>