Orchestrator Zamanlayıcı Kurma Yöntemleri

19 Ekim 2020 in Genel



Orchestrator Zamanlayıcı Kurma Yöntemleri

Bir robotik sürecin otomatik olarak tetiklenmesini sağlamak için Orchestator üzerinde zamanlayıcı kurmak mümkün. Bu zamanlayıcı Orchestator’ın 2019.10 versiyonuna kadar ‘Schedule’ menüsü altından sadece belirli bir zaman aralığı belirtilerek kurulabiliyordu. Bu zaman aralıkları dakikalık, saatlik, günlük, haftalık veya aylık olarak seçilebilmekte. Hatta ekstra bir seçenek olarak ‘Cron Expression’ dediğimiz ifadelerle daha gelişmiş, daha özel bir zaman aralığı belirtebildiğimiz ‘Advanced’ kısmı da çokça kullanılan zamanlayıcı kurma metotlarından biri.

Orchestator üzerinde gelişmiş bir zamanlayıcı kurma seçeneği olsa da bir süre sonra sadece zamana göre bu kurguyu planlamak yetersiz kalmaya başladı. Özellikle kuyruklu yapı kullanılan, ‘Dispatcher’ ve ‘Performer’ olmak üzere iki farklı ayağa sahip olan süreçlerde bu yöntem sorun yaratabiliyordu. Çünkü ‘Performer’ süreci ‘Dispatcher’ süreci bittikten sonra çaışmalı ve ‘Dispatcher’ sürecinin ne zaman biteceği de belli olmadığı için ‘Performer’ süreci için anca tahmini bir zamanlayıcı kurulabiliyordu. Tam da bu noktada Orhcestrator’ın 2019.10 versiyonuyla beraber zamanlayıcı kurma yöntemi için bir güncelleme yapıldı. Artık soldaki menüde ‘Schedules’ yerine ‘Triggers’ adında farklı bir başlık var. ‘Trigger’ Türkçede tetikleyici anlamına geliyor. Yeni güncellemeyle gelen seçeneklere göre artık sadece zamana göre değil tetikleme mantığıyla da süreçler otomatik olarak başlatılabiliyor.

Yukardaki ekran görüntüsünde de görüldüğü gibi ‘Triggers’ başlığı altında açılan sayfada ‘Time’ ve ‘Queue’ olmak üzere iki farklı seçenek var. ‘Time’ seçeneği aslında klasik olarak kurulan zamanlayıcı yöntemi. Sol kısımda zamanlayıcıya bir isim verilir, hangi sürecin tetikleneceği seçilir ve üzerinde çalışacağı robot veya robotlar seçilir. Sağ kısımda ise sürecin hangi zaman aralığında çalışacağı belirlenir. Opsiyonel olarak ‘Stop Job after’ ve ‘Disable Trigger at’ seçeneklerini işaretleyip sürecin belirli bir zaman sonra durmasını(stop veya kill) ve tetikleyicinin de aynı şekilde belli bir zaman sonra deaktive olması sağlanabiliyor.

Peki, yeni güncellemeyle gelen ‘Queue’ tetikleyicisi için nasıl bir yapı hazırlanmış? Aslında çok basit bir mantığı var. Orchestrator üzerinde var olan bir kuyruğa veri geldiğinde belirlenen sürecin otomatik olarak tetiklendiği bir yapı kurulmuş. Bunun için opsiyonel olarak da bazı veriler girip tetikleyiciyi özelleştirmek mümkün.

Yukarıda örnek bir ‘Queue’ tetikleyici kurulumunun görüntüsü yer alıyor. Sol kısımda aynı ‘Time’ tetikleyicisinde olduğu gibi önce bir isim verilir ve ardından hangi sürecin(job un) tetikleneceği seçilir. Diğerinden farklı olarak burada üzerinde çalışacağı robotları seçme seçeneği yok. Sağ tarafta ise en başta tetikleyicinin hangi kuyruğu dinleyeceği seçilir. Yani tetikleyici eklendiğinde seçilen kuyruğa veri geldiği anda seçilen job tetiklenecektir. Fakat burada kuyruğa kaç tane veri geldiğinde tetiklemenin başlayacağını seçebileceğimiz bir alan var. ‘Minimum number of items to trigger the first job’ kısmına yazacağımız sayı kaç olursa kuyruğa o kadar veri eklendikten sonra süreç başlar. Örneğin bu kısma ‘100’ yazarsak 100. Veri kuyruğa atıldığı anda süreç tetiklenecektir; aksi durumda tetiklenmeyecektir.

‘Maximum number of pending and running jobs allowed simultaneously’ kısmı birlikte sayılan, izin verilen ve bekleyen maksimum iş sayısını belirtir. Aynı anda izin verilen 2 veya daha fazla iş için, üçüncü seçeneğin aşağıda açıklandığı gibi tanımlanması gerekir.

‘Another job is triggered for each … new item(s)’ kısmı da bir önceki seçenek için tanımlanan öğe sayısının üstüne eklenen her yeni öğe sayısı için yeni bir iş başlatılacağını ifade eder. Yalnızca aynı anda izin verilen 2 veya daha fazla iş varsa etkinleştirilir (yukarıda açıklanan seçenek kullanılarak tanımlanır). Örneğin bir önceki seçenekte ‘3’ değeri verilip bu kısma da ‘100’ yazılırsa kuyruğa atılan her 100 veride bir yeni bir job tetiklenecektir. Tetiklenen bu job’lar tanımlanan environment a göre boş bir robot varsa ‘Running’ durumuna geçecek; boş bir robot yoksa da ‘Pending’ durumunda bekleyecektir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Created by © Win Young Bilgi ve İletişim Teknolojileri A.Ş, 2022. All rights reserved.