Cron / Zamanlanmış İşler
app/Console/Kernel.php içinde tanımlı tüm zamanlanmış görevler. Saat dilimi: Europe/Istanbul. Her komut multi-tenant olarak --env=<tenant> ile çalışır.
1. Yakıt Entegrasyonları (Akaryakıt API'leri)
Akaryakıt firmalarından otomatik yakıt alım kayıtlarını çeker. Her biri ilgili settings(...) flag'ine bağlıdır.
| Komut | Sıklık | Aktif olma koşulu |
|---|---|---|
bfy:po_yakit_import | hourly | settings('yakit-poas-entegrasyon') |
bfy:opet_yakit_import | hourly | settings('yakit-opet-entegrasyon') |
bfy:shell_yakit_import | hourly | settings('yakit-shell-entegrasyon') |
bfy:asisotomasyon-yakit-import | hourly | settings('asisotomasyon-wsdl-url') |
bfy:optimum-import | twiceDaily | settings('optimum-url') |
bfy:turpak-import | twiceDaily | settings('turpak-url') |
bfy:mepsanotomasyon-yakit-import | twiceDaily | settings('mepsanotomasyon-wsdl-url') |
Bu cron'lar yakıt kaydı oluştururken yakit_girisi = 'OTOMATIK' olarak işaretler (Yakit::YAKIT_GIRISI const).
İlgili tablolar:
arac_yakitlar,opet_yakit_aktarimlar,shell_yakit_aktarimlar
2. Gece Toplu İşleri
| Komut | Saat | Açıklama |
|---|---|---|
cron:gecelik | 04:00 | Ana gece görevi (servis km, sigorta özet, vade hatırlatması, vb.) |
bfy:yetkili-servis-is-kodu-ortalama-fiyat-hesaplama | 03:00 | İş kodu başına ortalama fiyat hesabı (yetkili servis için) |
bfy:hgs-data-import | daily | HGS API'den geçiş kayıtlarını çek |
bfy:check-user-expirations | daily | Süresi dolan kullanıcıları kontrol et / kapat |
bfy:clear-exports-folder | daily | Eski Excel/PDF export dosyalarını sil |
3. Bildirim Cron'ları
Bildirim sistemi cron + queued job kombinasyonuyla çalışır. Cron tetikler, job mail/SMS atar.
| Komut | Sıklık | Açıklama |
|---|---|---|
bfy:veri_alinamayan_araclari_bildir | twiceDaily | Veri alınamayan GPS cihazlı araçların listesi |
bfy:veri_alinamayan_araclar_gunluk_mail | dailyAt 09:00 | Aynı liste, mail formatında — feature-veri-alinamayanlar-raporu-mail-aktif flag'i gerekir |
bfy:onay-bekleyen-gorevleri-bildir | dailyAt 09:00 | Onay bekleyen görevler — feature-gorev-onay-bekleyenler-sekmesi flag'i gerekir |
bfy:yag_seviyesi_kritik_bildirim | dailyAt 13:00 | Yağ seviyesi kritik araçlar |
bfy:ptt-yakit-ihmal-bildirim | dailyAt 00:30 | (Anadolum Filo) Yakıt ihmal bildirimi |
4. Hakediş & Maliyet
| Komut | Sıklık | Açıklama |
|---|---|---|
bfy:gps-grup-hakedis-hesapla | monthlyOn 1, 03:00 | Aylık 1'inde GPS grup hakediş — modul-filo-hakedis-raporu flag'i gerekir |
5. HGS / OGS
| Komut | Saat | Açıklama |
|---|---|---|
bfy:hgs-data-import | daily | HGS API'den geçiş kayıtlarını import et — 4 settings (feature-hgs-api-key, feature-hgs-api-secret, feature-hgs-firma-id, config('app.hgs.url')) gerekir |
bfy:vakifbank-hgs-harcama-import | dailyAt 00:05 | Vakıfbank HGS harcamalarını import et — hgs-vakifbank-client-id, hgs-vakifbank-client-secret, hgs-vakifbank-consent-id, hgs-vakifbank-firma-id gerekir |
6. Kamera Senkronizasyonu
| Komut | Saat | Açıklama |
|---|---|---|
bfy:kamera:hikvision-update | dailyAt 03:00 | Hikvision kamera durumlarını güncelle — modul-hikvision-camera-aktif flag'i gerekir |
bfy:kamera:dahua-update | dailyAt 03:10 | Dahua kamera durumlarını güncelle — modul-dahua-camera-aktif flag'i gerekir |
7. Anadolum Filo (PTT) — Kuruma Özel
isAppName('anadolum-filo') koşuluna bağlı 6 cron:
| Komut | Saat | Açıklama |
|---|---|---|
bfy:send-ats-data-to-ptt --type=daily | dailyAt 03:00 | PTT'ye günlük ATS verisi |
bfy:ptt-kpapg-ats-report-send | dailyAt 03:15 | KPAPG ATS raporu |
bfy:ptt-kpapg-sefer-report-send | dailyAt 03:30 | KPAPG sefer raporu |
bfy:send-ats-data-to-ptt --type=monthly | dailyAt 04:00 | Aylık rapor — AylikRaporGonderimTakvimi::getCloseDay($month) ile koşullu |
bfy:send-ats-data-to-ptt --type=onizleme | dailyAt 04:00 | Önizleme raporu — getOnizlemeCloseDay($month) ile koşullu |
bfy:ptt-kpapg-report-send | dailyAt 16:00 | KPAPG genel raporu |
bfy:ptt-konum-gonderim | everyFiveMinutes | Anlık konum gönderim |
bfy:ptt-arac-listesi-gonderim | dailyAt 01:00 | Araç listesi gönderim |
8. Servis Talep / Boschcar
| Komut | Sıklık | Açıklama |
|---|---|---|
bfy:servis-talep:durum-guncelle | twiceDaily | Servis talep durumlarını güncelle (mail: selim.saral@macellan.net) |
bfy:boschcar-sync-approved | hourly | Onaylanan Boschcar formlarını senkronize et — feature-boschcar-servis-entegrasyonu-aktif |
bfy:boschcar-retry-failed | dailyAt 01:30 | Başarısız Boschcar işlemlerini tekrar dene |
9. İhale (EKAP)
| Komut | Sıklık | Açıklama |
|---|---|---|
ihale:ekap | daily | EKAP'tan ihale verisi çek |
ihale:purge | daily | Eski ihale verisini temizle |
10. GPS / Veri Aktarım
| Komut | Sıklık | Açıklama |
|---|---|---|
bfy:veri-aktarim-kontrol | everyMinute | Veri aktarım kontrolü (en sık çalışan cron) |
takip:handle-message | hourly | Takip uygulaması mesajlarını işle |
hv:passenger_count | everyFiveMinutes | Yolcu sayımı — feature-yolcu-sayimi-aktif flag'i gerekir |
11. Görev Yönetimi
| Komut | Sıklık | Açıklama |
|---|---|---|
bfy:gorev-soforlerini-cihaz-kart-yetkilendirmesine-ekle | daily | (Arnavutköy) Görevdeki şoförleri cihaz kart yetkilendirmesine ekle |
12. Sistem Bakım
| Komut | Sıklık | Açıklama |
|---|---|---|
cron:zamanlanmis_raporlar | everyFiveMinutes | Kullanıcı tarafından zamanlanmış raporları çalıştır |
bfy:clear-exports-folder | daily | Export klasörünü temizle |
telescope:prune --hours=48 | daily | Laravel Telescope log'larını 48 saat sonra sil |
cache:prune-stale-tags | hourly | Redis cache tag temizliği |
13. Arvento (GPS Sağlayıcı)
isArvento() koşuluna bağlı:
| Komut | Sıklık | Açıklama |
|---|---|---|
arv:get_drivers | 10 * * * * (her saat *:10) | Sürücü listesi |
arv:get_status | everyFiveMinutes | Anlık araç durumu |
arv:get_nodes | 15 * * * * (her saat *:15) | Nokta listesi |
arv:get_vehicles | dailyAt 02:00 | Araç listesi |
14. Sarılar Group (e-Finans Import) — Kuruma Özel
isAppName('sarilar') koşuluna bağlı 13 ayrı firma için saatlik:
app:efinans_import_dosya_fix --efinans_firma=zenitas --firma_id=4739
app:efinans_import_dosya_fix --efinans_firma=sarilar --firma_id=1
app:efinans_import_dosya_fix --efinans_firma=sarilaras --firma_id=15004
app:efinans_import_dosya_fix --efinans_firma=kure --firma_id=9
app:efinans_import_dosya_fix --efinans_firma=erk --firma_id=739
app:efinans_import_dosya_fix --efinans_firma=aksoyman --firma_id=13
app:efinans_import_dosya_fix --efinans_firma=selcuk --firma_id=12
app:efinans_import_dosya_fix --efinans_firma=sab --firma_id=10363
app:efinans_import_dosya_fix --efinans_firma=mea --firma_id=1421
app:efinans_import_dosya_fix --efinans_firma=yuva --firma_id=5966
app:efinans_import_dosya_fix --efinans_firma=k1 --firma_id=15363
app:efinans_import_dosya_fix --efinans_firma=k2 --firma_id=15364
app:efinans_import_dosya_fix --efinans_firma=k3 --firma_id=15365
Kod yorumu: "Firmalarda
efinans_firmaisminde sütun açılıp aşağıdaki değerlerin girilmesi lazım. Böylece hardcoded yapmak yerine otomatize edilebilir."
En Sık Çalışan İlk 5
| Cron | Sıklık | Yaklaşık çalışma/gün |
|---|---|---|
bfy:veri-aktarim-kontrol | everyMinute | 1.440 |
cron:zamanlanmis_raporlar | everyFiveMinutes | 288 |
arv:get_status (Arvento'lu kurumlar) | everyFiveMinutes | 288 |
hv:passenger_count (yolcu sayımı aktif) | everyFiveMinutes | 288 |
bfy:ptt-konum-gonderim (Anadolum) | everyFiveMinutes | 288 |