Launched December 24, 2024
Chaotic Schedule

Chaotic Schedule

Laravel package for randomizing command schedule intervals via pRNGs.

FreeOpen SourceHelpersCLI2,065 impressions#11 of its week

Ever wanted to run your scheduled commands on random times of the day, or on certain days of the week? Or you may need to send some notifications not on fixed date times, but rather on random intervals hence it feels more human. Then this is the package you're looking for.

Chaotic Schedule is a Laravel package that randomizes command schedule intervals using pseudo-random generators.

for
Laravel developers who need non-deterministic task scheduling.
pricing
open source
license
GPL-3.0
skywarth/chaotic-schedule 123 2PHPupdated 4 months ago
works withPHP 8.3+

Key features

5 features of Chaotic Schedule
  • atRandom macro — Schedule a command to run at a random time within a given daily range.
  • dailyAtRandom macro — Alias for atRandom, providing clearer intent for daily random runs.
  • hourlyAtRandom macro — Run a command every hour at a random minute within specified bounds.
  • Unique identifier seed — Use a custom identifier to generate independent random sequences for the same command.
  • Closure customization — Provide a callable to adjust the generated random minute or time before execution.

Use cases

  • Send client notifications at a random time between 14:00-17:00 each day.
  • Deliver weekly gifts on random times Friday-Saturday between 00:00-04:20.
  • Generate statistical reports on random mornings Mon/Wed/Fri between 08:00-09:30.
  • Run audit calculations three times a day at random intervals.
  • Trigger anomaly-detection commands at least 100 random times per year.

Chaotic Schedule FAQ

How do I install Chaotic Schedule?+

Run composer require skywarth/chaotic-schedule and optionally publish the config with artisan vendor:publish.

Can I use the package with older Laravel versions?+

Yes, version v2.0.0 supports Laravel 9-10 and v1.1.0 supports Laravel 8 and earlier.

What does the uniqueIdentifier parameter do?+

It determines the seed for the pseudo-random generator, allowing separate random sequences for identical commands.

Is it compatible with the legacy Kernel scheduling syntax?+

Yes, the v1.1.0 line works with the legacy Kernel-style scheduling.

Can I modify the random minute before the command runs?+

Provide a closure argument; it receives the generated minute (and event) and must return the adjusted minute.

Summarized by DevHunt from github.com · Sep 29, 2026. Details may change; check the official site.