orisai/scheduler

Cron job scheduler - with locks, parallelism and more

2.0.0 2024-01-26 22:10 UTC

This package is auto-updated.

Last update: 2024-04-22 18:27:07 UTC


README

Cron job scheduler - with locks, parallelism and more

📄 Check out our documentation.

💸 If you like Orisai, please make a donation. Thank you!

badge.svg 68747470733a2f2f62616467656e2e6e65742f636f766572616c6c732f632f6769746875622f6f72697361692f7363686564756c65722f76322e783f63616368653d333030 68747470733a2f2f62616467652e737472796b65722d6d757461746f722e696f2f6769746875622e636f6d2f6f72697361692f7363686564756c65722f76322e78 68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f64742f6f72697361692f7363686564756c65723f63616368653d33363030 68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f762f6f72697361692f7363686564756c65723f63616368653d33363030 68747470733a2f2f62616467656e2e6e65742f62616467652f6c6963656e73652f4d504c2d322e302f626c75653f63616368653d33363030

Create script with scheduler setup (e.g. bin/scheduler.php)

use Cron\CronExpression;
use Orisai\Scheduler\SimpleScheduler;

$scheduler = new SimpleScheduler();

// Add jobs
$scheduler->addJob(
	new CallbackJob(fn() => exampleTask()),
	new CronExpression('* * * * *'),
);

$scheduler->run();

Configure crontab to run your script each minute

* * * * * cd path/to/project && php bin/scheduler.php >> /dev/null 2>&1

Looking for more? Documentation is here.