PHPackages                             futur/udschedule - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. futur/udschedule

ActiveLibrary

futur/udschedule
================

UserDefinableSchedule allows you to create user defined schedule tasks

1.1.6(5y ago)056MITPHPPHP &gt;=7.2.5

Since Dec 10Pushed 5y ago1 watchersCompare

[ Source](https://github.com/FuturFuturFutur/UDSchedule)[ Packagist](https://packagist.org/packages/futur/udschedule)[ RSS](/packages/futur-udschedule/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (9)Used By (0)

### UDSchedule

[](#udschedule)

User Definable Schedule is the laravel package which allows you to create user defined schedule tasks. `Futur with love forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->...
            ->set();

```

Available schedule types:

- **monthly** with **any day of a month** as a value

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->monthly(23)
            ->set();

```

- **weekly** with **any day of a week** as a value

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->weekly('Sunday')
            ->set();

```

- **daily** with **time (HH:MM)** as a value

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->daily('12:05')
            ->set();

```

- **at** with **time (HH:MM)** as a value, to specify time of schedule

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->weekly('Monday')
            ->at('14:23')
            ->set();

```

- **weekdays**

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->weekdays()
            ->set();

```

- **weekends**

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->weekends()
            ->set();

```

- **lastDayOfMonth**

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->lastDayOfMonth()
            ->set();

```

- **custom** expression if you want to specify cron expression by your own

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->custom('00 23 * * *')
            ->set();

```

- **timezone** specify timezone of user defining schedule

```
UDSchedule::schedule()
            ->forScheduler($scheduler)
            ->withSchedulable(UDScheduledObject::class)
            ->custom('00 23 * * *')
            ->timezone('MST')
            ->set();

```

### Expression interpreter

[](#expression-interpreter)

Sometimes it's needed to interpret expressions from udscheduled tasks to understandable look. You can do so using interpretExpression method of UDSchedule facade:

```
$scheduled = UDSchedule::interpretExpression(
                $scheduler
                    ->udScheduledBySchedulable(UDScheduledObject::class)
                    ->expression
            );

```

will return:

```
[
    'type' => 'monthly',
    'value' => '3',
    'at' => '11:00'
]

```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

8

Last Release

1980d ago

PHP version history (2 changes)1.0.0PHP ^7.3|^8.0

1.1.3PHP &gt;=7.2.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/e141fb3590cb270f07d99dcae5074d4a32aeb2a168155747fbe9f637b668879d?d=identicon)[futurfuturfutur](/maintainers/futurfuturfutur)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/futur-udschedule/health.svg)

```
[![Health](https://phpackages.com/badges/futur-udschedule/health.svg)](https://phpackages.com/packages/futur-udschedule)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11120.2M21](/packages/anourvalar-eloquent-serialize)[namu/wirechat

A Laravel Livewire messaging app for teams with private chats and group conversations.

54324.5k](/packages/namu-wirechat)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135192.6k5](/packages/statamic-rad-pack-runway)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
