berkaykaradeniz / laravel-db-scheduler
Laravel için veritabanı tabanlı iş zamanlayıcı paketi
dev-main
2025-01-08 17:45 UTC
Requires
- php: ^8.0
- laravel/framework: ^9.0|^10.0
This package is auto-updated.
Last update: 2025-07-08 18:40:29 UTC
README
Laravel için veritabanı tabanlı iş zamanlayıcı paketi. Bu paket, geleneksel cron jobs ve Laravel Queue sistemine alternatif olarak geliştirilmiştir.
Özellikler
- Veritabanı tabanlı iş zamanlaması
- Herhangi bir cron yapılandırması gerektirmez
- Kolay kurulum ve kullanım
- Her iş için özel zamanlama seçenekleri
- İşlerin durumunu takip etme
- User veya diğer model ilişkileri ile entegrasyon
- Web arayüzü ile iş yönetimi
Kurulum
Composer ile paketi projenize ekleyin:
composer require berkaykaradeniz/laravel-db-scheduler
Servis sağlayıcısını config/app.php
dosyasına ekleyin:
'providers' => [ // ... BerkayKaradeniz\LaravelDbScheduler\SchedulerServiceProvider::class, ];
Migrationları çalıştırın:
php artisan migrate
Kullanım
İş Tanımlama
use BerkayKaradeniz\LaravelDbScheduler\Facades\DbScheduler; // Basit bir iş zamanlamak DbScheduler::create() ->command('emails:send') ->everyMinutes(30) ->save(); // User ile ilişkili iş DbScheduler::create() ->command('user:notify') ->relatedModel('user', 1) ->runAt('2024-01-01 00:00:00') ->save();
İş Çalıştırma
Tek bir komut ile tüm zamanlanmış işleri çalıştırın:
php artisan db-scheduler:run
Veritabanı Yapısı
Paket aşağıdaki tabloları oluşturur:
scheduled_jobs
: Zamanlanmış işlerin ana tablosujob_histories
: İş çalışma geçmişi
Gereksinimler
- PHP >= 8.0
- Laravel >= 9.0
Lisans
MIT
Yazar
Berkay Karadeniz
- GitHub: @berkaykaradeniz
- LinkedIn: Berkay Karadeniz
Katkıda Bulunma
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature
) - Değişikliklerinizi commit edin (
git commit -m 'feat: Add amazing feature'
) - Branch'inizi push edin (
git push origin feature/amazing-feature
) - Pull Request oluşturun