byfareska/cron-bundle

Symfony cron

Installs: 2 003

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.0.1 2023-06-09 13:55 UTC

This package is not auto-updated.

Last update: 2024-04-26 18:09:01 UTC


README

Fast setup

  1. Add to cron * * * * * php bin/console cron:run
  2. Create a class that implements \Byfareska\Cron\Task\ScheduledTask, for example:
final class DeleteFileEveryHourTask implements ScheduledTask {

    public function cronInvoke(DateTimeInterface $now, bool $forceRun, OutputInterface $output): bool
    {
        if($forceRun || $now->format('i') === '0'){
            $this();
            return true;
        }
        
        return false;
    }
    
    public function __invoke(): void
    {
        unlink('/var/example');
    }
}

Useful commands

Force to run some tasks

php bin/console cron:run --task=App\\Task\\DeleteFileEveryHourTask,App\\Task\\AnotherTask

List all registered tasks

php bin/console debug:container --tag=cron.task