sakshsky/laravel-smart-scheduler is a Laravel package for a smart scheduler ui for laravel applications.
It currently has 0 GitHub stars and 0 downloads on Packagist.
Install it with composer require sakshsky/laravel-smart-scheduler.
Discover more Laravel packages by sakshsky
or browse all Laravel packages to compare alternatives.
Last updated
Here's a comprehensive, professional README.md file for your Laravel Smart Scheduler package with detailed documentation, examples, and visual sections:
# Laravel Smart Scheduler π
[](https://packagist.org/packages/sakshsky/laravel-smart-scheduler)
[](https://packagist.org/packages/sakshsky/laravel-smart-scheduler)
[](https://github.com/sakshsky/laravel-smart-scheduler/blob/main/LICENSE.md)
A beautiful, intuitive interface for managing Laravel task scheduling with real-time previews, visual cron builder, and one-click task execution.

*(Screenshot placeholder - replace with actual screenshot)*
## Features β¨
ποΈ **Visual Cron Expression Builder** - Create schedules without remembering cron syntax
β‘ **Real-time Preview** - See next 5 run times before saving
π **Code Generator** - Get ready-to-use Laravel scheduler code
π **Task Monitoring** - View execution history and outputs
π **Notifications** - Get alerts for failed tasks (Email/Slack)
π **Timezone Support** - Set per-task timezones
π‘οΈ **Overlap Protection** - Built-in `withoutOverlapping()` for all tasks
## Installation π¦
1. Require the package via Composer:
```bash
composer require sakshsky/laravel-smart-scheduler
php artisan vendor:publish --provider="Sakshsky\SmartScheduler\Providers\SmartSchedulerServiceProvider"
php artisan migrate
Navigate to /scheduler (configurable in config file) after installation.
emails:send --type=daily
(Screenshot placeholder)
Create a task that runs at 15 minutes past every 4 hours on weekdays:
// Generated code from the visual builder
$schedule->command('reports:generate')
->name('Weekday Reports')
->cron('15 */4 * * 1-5')
->timezone('America/New_York')
->withoutOverlapping()
->appendOutputTo(storage_path('logs/reports.log'));
Configure in config/smart-scheduler.php:
'notifications' => [
'mail' => [
'enabled' => true,
'to' => '[email protected]',
],
'slack' => [
'enabled' => true,
'webhook_url' => env('SLACK_WEBHOOK_URL'),
],
],
The package provides an API to manage tasks programmatically:
use Sakshsky\SmartScheduler\Models\ScheduledTask;
// Create a new task
ScheduledTask::create([
'name' => 'Database Backup',
'command' => 'backup:run',
'cron_expression' => '0 2 * * *',
'timezone' => 'UTC',
'description' => 'Nightly database backup'
]);
// Disable a task
$task = ScheduledTask::find(1);
$task->update(['enabled' => false]);
After publishing the config file (config/smart-scheduler.php), you can customize:
return [
'route_prefix' => 'scheduler', // Change dashboard URL
'middleware' => ['web', 'auth'], // Authentication middleware
'timezone' => env('APP_TIMEZONE', 'UTC'), // Default timezone
// Enable/disable features
'features' => [
'builder' => true,
'task_management' => true,
'notifications' => true,
],
// Notification channels
'notifications' => [
'mail' => [
'enabled' => true,
'to' => env('ADMIN_EMAIL'),
],
'slack' => [
'enabled' => false,
'webhook_url' => env('SLACK_WEBHOOK_URL'),
],
],
];
By default, the scheduler dashboard is protected by:
auth middleware (requires login)For production:
can:admin)Issue: Tasks not running
β
Check php artisan schedule:list to verify tasks are registered
β
Ensure your cron job is set up correctly on the server:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Issue: Timezone not respected
β
Verify APP_TIMEZONE in your .env
β
Check individual task timezone settings
We welcome contributions! Please follow these steps:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This package is open-source software licensed under the MIT license.
If you find this package useful, please consider:
*Created with β€οΈ by sakshsky