« Tüm yayınlar

Tarayıcı Otomasyonuna İşletim Sistemi Tarzı Kesme İşleyicileri

Flaky web otomasyon betiklerini çözmek için işletim sistemi tarzı kesme (interrupt) mantığını uygulayan Cue mekanizmasının mühendislik detayları.

Tarayıcı otomasyon betikleri doğrusal yazılır ama web asenkrondur: çerez banner'ları, abone ol pop-up'ları veya oturum düşmeleri betiğin ortasında rastgele ortaya çıkar. Adımlar arasına kontrol serpiştirmek veya tüm akışı yeniden denemek hem kırılgan hem de maliyetlidir. Orchestra adlı bir masaüstü otomasyon aracı, bu soruna işletim sistemlerinin kesme (interrupt) mekanizmasına benzer bir çözüm getiriyor: 'Cue' adlı bir gözlemci, arka planda periyodik olarak (seçici, URL, ağ yanıtı gibi) bir koşulu izliyor ve koşul gerçekleştiğinde ana akışı bölüp kendi alt adımlarını çalıştırıyor, sonra kontrolü geri veriyor.

Basit bir zamanlayıcı yaklaşımı sonsuz tetiklenme döngüleri, asılı kalan işleyiciler, sürekli başarısız olan 'zombi' gözlemciler ve sessizce başarısız olan düzeltmeler gibi dört farklı hataya yol açıyor. Bunlara karşı soğuma süresi, maksimum tetiklenme sayısı, zaman aşımı, devre kesici (circuit breaker) ve isteğe bağlı doğrulama modu gibi somut mühendislik çözümleri uygulanmış.

En ilginç kısmı ise dışa aktarma davranışı: Orchestra akışları düz Playwright betiklerine derlerken, bütün bu gözlemci motoru yaklaşık 15 satırlık okunabilir, düzenlenebilir bir kontrol fonksiyonuna ve iki zamanlayıcı mekanizmasına indiriliyor — çalışma zamanı bağımlılığı olmadan.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz