services:
    cron.manager:
        class: phpbb\cron\manager
        arguments:
            - @cron.task_collection
            - %core.root_path%
            - %core.php_ext%

    cron.lock_db:
        class: phpbb\lock\db
        arguments:
            - cron_lock
            - @config
            - @dbal.conn

# ----- Cron tasks -----
    cron.task_collection:
        class: phpbb\di\service_collection
        arguments:
            - @service_container
        tags:
            - { name: service_collection, tag: cron.task }

    cron.task.core.prune_all_forums:
        class: phpbb\cron\task\core\prune_all_forums
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
            - @dbal.conn
        calls:
            - [set_name, [cron.task.core.prune_all_forums]]
        tags:
            - { name: cron.task }

    cron.task.core.prune_forum:
        class: phpbb\cron\task\core\prune_forum
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
            - @dbal.conn
        calls:
            - [set_name, [cron.task.core.prune_forum]]
        tags:
            - { name: cron.task }

    cron.task.core.prune_shadow_topics:
        class: phpbb\cron\task\core\prune_shadow_topics
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
            - @dbal.conn
            - @log
            - @user
        calls:
            - [set_name, [cron.task.core.prune_shadow_topics]]
        tags:
            - { name: cron.task }

    cron.task.core.prune_notifications:
        class: phpbb\cron\task\core\prune_notifications
        arguments:
            - @config
            - @notification_manager
        calls:
            - [set_name, [cron.task.core.prune_notifications]]
        tags:
            - { name: cron.task }

    cron.task.core.queue:
        class: phpbb\cron\task\core\queue
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
        calls:
            - [set_name, [cron.task.core.queue]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_cache:
        class: phpbb\cron\task\core\tidy_cache
        arguments:
            - @config
            - @cache.driver
        calls:
            - [set_name, [cron.task.core.tidy_cache]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_database:
        class: phpbb\cron\task\core\tidy_database
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
        calls:
            - [set_name, [cron.task.core.tidy_database]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_plupload:
        class: phpbb\cron\task\core\tidy_plupload
        arguments:
            - %core.root_path%
            - @config
        calls:
            - [set_name, [cron.task.core.tidy_plupload]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_search:
        class: phpbb\cron\task\core\tidy_search
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @auth
            - @config
            - @dbal.conn
            - @user
        calls:
            - [set_name, [cron.task.core.tidy_search]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_sessions:
        class: phpbb\cron\task\core\tidy_sessions
        arguments:
            - @config
            - @user
        calls:
            - [set_name, [cron.task.core.tidy_sessions]]
        tags:
            - { name: cron.task }

    cron.task.core.tidy_warnings:
        class: phpbb\cron\task\core\tidy_warnings
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
        calls:
            - [set_name, [cron.task.core.tidy_warnings]]
        tags:
            - { name: cron.task }