Bağlam
Yönetime her gün "Ticaret Borsaları Satış Salonu Hububat Fiyatları" raporu gidiyor: buğday, makarnalık buğday, arpa, mısır, yulaf ve çavdar için borsa bazında en düşük, en yüksek ve ortalama fiyat; haftalık ve aylık ortalamalar. 2021'de bunun için C# ile tarayıcı otomasyonlu bir program yazmıştım; veri yarı otomatik çekiliyor, Excel elle işleniyordu. 2025'te süreci baştan ele alıp tamamen insansız hale getirdim.
Nasıl çalışıyor
- Windows zamanlanmış görevi belirlenen saatte programı başlatıyor.
- On beş borsanın veri servisleri ve TÜRİB doğrudan okunuyor; tarayıcı açılmıyor. Silaj, tohum, kepek gibi kalemler dışarıda bırakılıyor.
- Diğer borsaların ortalamasından yüzde 35'ten fazla sapan fiyatlar şüpheli sayılıyor; rapora ve ortalamalara alınmıyor, kayıt altına alınıyor.
- Veriler yerel SQLite arşivine ve eski programla uyumlu biçimde kurumun veritabanına yazılıyor.
- Önceki günün Excel dosyası şablon alınıp günlük, haftalık ve aylık tablolar güncelleniyor. Ay başında biten ayın ortalaması sabitleniyor, 23 iş günlü aylarda sütun ekleniyor, 1 Haziran'da yeni sezon sayfası açılıyor.
- Rapor Outlook ile gönderiliyor. Veri eksikse göndermek yerine taslak açılıyor; aynı günün raporu iki kez gitmiyor.
Ayrıntılar
- Otomatik kaynağı olmayan iki borsa için arayüzden ya da CSV ile elle giriş
- Dört sayfalık küçük bir yönetim arayüzü: genel durum, zamanlama ve e-posta, ayarlar, elle giriş. Kaydedilen ayarlar zamanlanmış göreve doğrudan işleniyor
- Deneme kipi hiçbir yere dokunmuyor: SQL işlemleri geri alınıyor, çıktı ayrı klasöre yazılıyor; geçmiş bir gün yeniden üretilebiliyor
- Aylık günlük dosyası ve çalışma kayıtları
Sayılarla
- 15 borsa ve TÜRİB, 6 ürün, günde yaklaşık 100 fiyat satırı
- 2021'den bu yana 34 binin üzerinde arşiv kaydı
- Yaklaşık 2 bin satır Python, 8 modül; elle müdahale sıfır