Orchestrator
Orchestrator
Aktiviteler
Add Queue Item
Kuyruk yapısı, robotlar tarafından işlenmesi gereken veri öğelerinin merkezi olarak depolandığı ve yönetildiği bir listedir. Bu öğeler Orchestrator üzerinden saklanır, izlenir ve sıralı şekilde robotlara dağıtılır.
Kuyruklara sınırsız sayıda veri öğesi (queue item) eklenebilir. Bu öğeler:
- İçerik (data) taşıyabilir,
- Referans bilgisi içerebilir,
- Öncelik seviyelerine göre ayrılabilir.
Add Queue Item, Orchestrator yönetim panelindeki “Kuyruklar” sayfasında tanımlanmış olan bir kuyruğa yeni bir öğe eklemek için kullanılır. Bu öğe, işlem sırasına alınmak üzere veri içeriğiyle birlikte kuyruğa gönderilir. Diğer robotlar bu kuyruktaki öğeleri çekip işlemlerini sürdürebilir.
Parametreler:
- Queue Name: Eklemek istediğiniz öğenin gönderileceği kuyruğun adı girilir. Bu ad, Orchestrator’da oluşturulan kuyrukla birebir aynı olmalıdır.
- Column Names: Öğe detaylarında bulunacak sütunların isimleri girilir. Birden fazla sütun varsa noktalı virgül (;) ile ayrılır. Önceden kuyruğa eklenmiş örnek bir öğe varsa, onunla aynı yapıda olmalıdır.
- Column Values: Her sütun için karşılık gelen değerler bu alana yazılır. Yazım sırası, Column Names ile birebir aynı olmalıdır. Birden fazla veri varsa noktalı virgül (;) ile ayrılır.
- Priority: Kuyruğa eklenen öğenin işlem önceliğini belirtir. Üç seçenekten biri seçilebilir:
- High – Yüksek Öncelik
- Normal – Normal Öncelik (varsayılan)
- Low – Düşük Öncelik
- Reference: Öğeye ait tanımlayıcı bir referans bilgisi girilir. Bu bilgi, Orchestrator’daki “Kuyruk Öğelerini Görüntüle” bölümünde Referans sütununda görünür. Öğeye özel tanımlama yapmak ve log takibi kolaylaştırmak için kullanılır.
Kullanım Senaryoları:
- Fatura bilgileri Excel’den okunur, kuyruğa aktarılır ve robot sırayla işler.
- Aday verileri başvuru formundan kuyruğa eklenir, robotlar tarafından değerlendirilir.
- Web scraping ile elde edilen URL ve içerikler kuyruğa atılır, ayrı bir robot analiz eder.
- E-ticaret siparişleri kuyruğa yazılır, robotlar sırayla işleyerek yönetir.
Önemli Notlar:
- Kuyruk adı ve sütun isimleri birebir doğru yazılmalıdır, aksi takdirde veri alınamaz.
- Priority seçimi, işleme sırasını etkiler. Zaman hassasiyeti olmayan öğeler için Normal tercih edilebilir.
- Aynı anda birden fazla robot kuyruğu dinliyorsa, öncelikli öğeler önce alınır.
- Column Values ile Column Names birebir sıralı ve eşleşmiş olmalıdır, aksi takdirde veriler yanlış eşleşebilir.
Kullanım Adımları:
- Orchestrator ortamınızda bir kuyruk oluşturun (Kuyruklar > Yeni Kayıt Oluştur).
Create a queue in your Orchestrator environment (Queues > Create New Record)
2. Studio içerisinde Add Queue Item aktivitesini senaryoya ekleyin.
3. Gerekli parametreleri aşağıdaki şekilde doldurun.
Collection Add Queue Items
Kullanım Adımları:
- Kuyruğa eklemek istediğiniz verileri içeren bir Collection değişkeni oluşturun.
- Studio içinde Collection Add Queue Items aktivitesini senaryoya ekleyin.
- Input Collection satırına Collection değişkenini, Queue Name satırına Orchestrator’daki kuyruk adını girin.
- Veri yapısının sütun isimleri, kuyrukta daha önce eklenmiş öğelerle birebir uyumlu olmalıdır.
Parametreler:
- Input Collection : Kuyruğa eklenecek verilerin bulunduğu tablo ya da liste yapısındaki değişken.Her bir satır ayrı bir Queue Item olarak işlenir.
- Queue Name : Verilerin gönderileceği Orchestrator kuyruğunun adı.İsim birebir eşleşmeli ve büyük/küçük harfe duyarlıdır. Örnek: “Siparis_Isleme_Kuyrugu”
İpuçları:
- Kuyruk adı hatasız girilmelidir; büyük/küçük harf duyarlıdır.
- Collection değişkeninin her satırı ayrı bir kuyruk öğesi (Queue Item) olarak eklenir.
- Gerekirse kuyruk öğelerine referans atamak için collection yapısına Reference adlı bir sütun ekleyebilirsiniz.
- Her eklenen öğe Orchestrator üzerinden takip edilebilir; durumu, hatası, log bilgisi izlenebilir.
Karşılaşılabilecek Hatalar ve Dikkat Edilmesi Gerekenler:
- Sütun uyuşmazlığı: Koleksiyonda bulunan sütun isimleri, Orchestrator’daki kuyruk öğeleriyle birebir eşleşmelidir. Aksi halde öğeler yanlış kaydedilir veya hiç kaydedilmez.
- Boş collection kullanımı: Eğer Input Collection boşsa (0 satır içeriyorsa), aktivite sessizce çalışabilir ancak kuyruğa hiçbir öğe eklenmez. Kayıt yapılmadan senaryo devam eder.
- Queue Name hatalı: Orchestrator’da tanımlı olmayan bir kuyruk ismi girilmişse, aktivite hata verir: “Queue does not exist” gibi mesajla karşılaşılır.
- Ağ / bağlantı sorunları: Orchestrator bağlantısı koparsa veya ağ kesintisi olursa işlem tamamlanamaz. “Robot not connected” gibi hatalar alınabilir.
- Aynı referansla tekrar ekleme: Eğer kuyruk ayarlarında Unique Reference özelliği aktifse ve aynı referansa sahip öğeler koleksiyonda varsa, yalnızca ilk öğe eklenir; diğerleri hata verir.
- Collection veri tipi hatalı: Aktivite, tablo veya liste yapısı bekler. Yanlış veri tipi (örneğin tek string) verildiğinde “Object reference not set to an instance of an object” gibi hata oluşabilir.“
- Zaman aşımı:Çok büyük veri listeleri (örneğin 10.000+ öğe) yüklenmeye çalışıldığında zaman aşımı (timeout) hataları oluşabilir. Bu durumda veriler parçalanarak eklenmelidir.
Create Task
Create Task aktivitesi, bir API çağrısı aracılığıyla seçilen robota özel bir görev (task) göndermek amacıyla kullanılır. Bu görev; belirli bir işlem, kontrol, doğrulama ya da kullanıcıya gösterilmek istenen bir uyarı gibi senaryo içi kararları tetiklemek için kullanılabilir.
Görev, bir isim, açıklayıcı bir mesaj ve robotun ID bilgisi ile birlikte oluşturulur.
Kullanım Senaryoları:
- Kullanıcı doğrulama – Bir web formdan gelen veriye göre kullanıcıyı doğrulamak için robota manuel kontrol taskı gönderilir.
- Doğum günü bildirimi – Doğum tarihi gelen çalışanlar için ilgili robotlara kontrol görevi tanımlanır.
- Bekleyen onay süreci – Bir işlem manuel onay gerektiriyorsa, ilgili operatör robotuna açıklama ile görev gönderilir.
- Saha robotuna iş atama – Merkezde işlenen veriler sahada işlem yapacak robota task olarak yönlendirilir.
Parametreler:
- Name: Oluşturulacak görevin adı
- Message: Görevle birlikte iletilecek açıklama ya da parametre bilgileri
- Robot ID: Görevi alacak robotun Orchestrator’daki tanımlı ID numarası
Karşılaşılabilecek Hatalar ve Dikkat Edilmesi Gerekenler:
- Robot ID hatalı – Geçersiz ya da silinmiş bir robot ID girilirse görev iletilemez.
- Message formatı bozuk – ; ile ayrılmamış, eksik veya geçersiz formatta parametreler girilmişse robot tarafından çözümlenemeyebilir.
- Network / API bağlantı hatası – Orchestrator bağlantısı zayıfsa görev gönderilemeyebilir. Hata loglarında API communication error gibi mesajlar görülebilir.
- Task atama yapıldı ama robot çalışmıyor – Robot çalışır durumda değilse görev kuyruğa düşer, ancak işlenmez.
Delete Queue Item
Delete Queue Item aktivitesiyle, Kuyruk içerisindeki öğeyi ‘Deleted’ statüsüne (durumuna) güncelleyebilirsiniz. Aktivitenin Queue Name satırına Kuyruk adı, Row Number satırına da silinmesi istenen öğenin kuyruktaki sıra numarası girilmesi gerekmektedir. Bu değeri isterseniz manuel şekilde yazabilir, isterseniz Get Transaction Item işlemi sonrası çıktı olarak aldığınız collection’ı kullanarak değişken şeklinde yazabilirsiniz.
Aşağıdaki örnekte, daha önceden kuyruğa eklenmiş bir öğenin ‘Get Transaction Item’ aktivitesiyle çekilip, bu öğenin ‘Deleted’ statüsüne (durumuna) güncelleme işlemi yapılmıştır.
Get Definition
Get Definition aktivitesiyle, orchestratorda oluşturulan bir tanımı studio içerisinde çalıştırabilir ve içerisindeki değeri değişkenlere aktarabilirsiniz.
Örneğin, kullanıcı adı ve şifre ile login olduğunuz bir ortamda senaryo içerisinde bu bilgilerin kullanılmaması, sadece yetkisi olan kişi ya da kişilerin görüp, güncelleyebileceği bir alanda tutulabilmesi için kullanıcı adı ve şifrenizi, Ochestrator yani yönetim panelinden Tanımlar > Yeni Tanım butonu ile kaydedebilir, Get Definition aktivitesiyle de kaydettiğiniz bu tanımı kriptolu olarak kullanabilirsiniz.
Kullanım Senaryoları
- Kullanıcı adı ve şifre gibi hassas bilgilerin senaryoda açık şekilde yazılmadan kullanılması
- Yetkili kişiler dışında kimsenin göremeyeceği şekilde bilgiler yönetim panelinde saklanması
- Senaryoların parametrelerden bağımsız çalıştırılabilir olması
- Güncel bilgilerin merkezi bir yerden alınarak dinamik şekilde kullanılması
Parametreler:
- Name: Orchestrator’da tanımlanmış değerin adı (tanım ismi)
- Value (Output): Tanıma karşılık gelen ve değişkene aktarılacak olan değer
- Delay Time: Aktivite başlamadan önce bekleme süresi (milisaniye)
Dikkat Edilmesi Gerekenler:
- Name alanına yazılan tanım adı ile orchestrator’da oluşturulan tanım adı birebir aynı olmalıdır
- Tanımlar, orchestrator üzerinde “Tanımlar > Yeni Tanım” alanından oluşturulmalıdır
- Orchestrator bağlantısı yoksa ya da tanım bulunamazsa değer alınamaz
- Hassas bilgiler (örneğin şifreler) şifreli şekilde saklanır ve senaryoya şifreli aktarılır
Get Queue Items
Get Queue Items aktivitesi, Orchestrator yani yönetim panelinden “Kuyruklar” sayfasında oluşturduğunuz kuyrukta bulunan tüm verileri, girilen filtrelere göre collection türünde çıktı almanızı sağlar. Queue Name satırına kuyruk ismi, Item Status satırına gelmesini istediğiniz statü bilgileri yazılmalı ve Priority satırından da istenilen öncelik seçimi yapılmalıdır.
Not: Birden fazla statü (durum) bilgisi yazılacaksa, noktalı virgül (;) ile ayrılarak yazılmalıdır.
Aşağıdaki örnekte, Orchestrator’daki ilgili kuyrukta ‘Successful’ ve ‘Failed’ statüsünde (durumunda) olan tüm öğeleri collection türünde çıktı olarak alma işlemi yapılmıştır.
Get Scenario Number Of Run
Scenario Number Of Run aktivitesiyle veri tabanına set edilen bir değeri, Get Scenario Number Of Run aktivitesini kullanarak output üzerinden bir değişkene aktarabilir ve senaryo içerisinde kullanabilirsiniz.
Get Task?
Get Task aktivitesiyle, api üzerinden robota atanan taskı alıp bir değişkene aktarabilirsiniz. Tanımlayacağınız değişkenin collection formatında olması gerekmektedir.
Get Transaction Item
Get Transaction Item aktivitesi, Orchestrator yani yönetim panelinden “Kuyruklar” sayfasında oluşturduğunuz kuyrukta bulunan tek bir öğeyi almak için kullanılır. Senaryo içerisinde işlenmek üzere, statüsü New olanlardan sıradaki öğe hangisi ise onu collection türünde getirir. Öğe, işleme alındığı için Orchestrator’da statüsü ‘In Progress’ olarak otomatik güncellenir.
Kuyruktaki işlenecek tüm öğeler tamamlandığında yani New statüsünde öğe kalmadığı durumda, aktivitenin ‘False’ parametresi çalışır.
Run Method
Run Method aktivitesiyle, oluşturduğunuz ve publish ettiğiniz şablonlarınızı senaryo içerisinde çalıştırabilirsiniz. Örneğin; Login olmak için oluşturduğunuz bir akışı metot olarak kaydettiğinizi düşünelim. Run Method aktivitesini kullanarak kaydettiğiniz bu metodu orchestrator üzerinden çağırabilir ve tek bir aktiviteyle birden fazla adımı içeren işlemler yaptırabilirsiniz.
Create Method ile senaryolarınız için hazır şablon yani metot oluşturabilir, Open Method ile de oluşturduğunuz şablonu yani metodu açıp güncelleyebilirsiniz. Her iki işlem sonrasında da tasarlanan ya da güncellenen metodun yayınlanabilmesi için publish edilmesi gerekmektedir.
Oluşturduğunuz bir metodu güncellediğinizde, bu metodu kullanarak çalıştırdığınız tüm senaryolar güncellenmiş olacaktır. Bu sayede, birden fazla senaryoyu etkileyecek temel işlemleri metot haline getirip, tek bir noktadan yönetebilirsiniz.
Not: Metot oluşturmak ve oluşturulan bir metodu güncelleyebilmek için studio uygulamasına “login” olunması gerekmektedir.
METHODS butonuna tıklayarak yayınladığınız tüm metodları görebilirsiniz. Run Method aktivitesini kullanabilmek için “Name” satırına yayınladığınız metodun adını doğru şekilde yazmanız ve çalıştırmanız yeterli olacaktır.
Set Defination
Set Definition aktivitesiyle, orchestrator ortamında kayıtlı ve yetkili olduğunuz bir tanım içerisine değer girişi yapabilirsiniz. Daha sonra, girişi yapılan bu değeri, yetkisi olan kişi ya da kişiler tarafından Get Definition aktivitesiyle bir değişkene alabilir ve senaryo içerisinde kullanılabilirsiz.
Kullanım Senaryoları:
- Senaryo çalışırken oluşan bir değerin yönetim paneline kaydedilmesi
- Dinamik olarak güncellenen bilgilerin (örn. son işlem tarihi, durum, sayaç) merkezi olarak saklanması
- Farklı kullanıcılar tarafından Get Definition aktivitesiyle erişilecek bilgilerin tanıma yazılması
- Hatalı işlemler veya özel durumlar sonrası duruma dair açıklama ya da uyarı notu bırakılması
Parametreler:
- Name: Değer yazılacak tanımın adı (orchestrator’daki tanım adıyla aynı olmalıdır)
- Value: Tanım içerisine yazılacak metinsel veri
Dikkat Edilmesi Gerekenler:
- Tanım adı orchestrator panelindeki kayıtla birebir aynı olmalıdır.
- Sadece yetkili olunan tanımlar için değer yazılabilir.
- Yazılan değer metin formatındadır, ihtiyaca göre dönüştürülerek kullanılmalıdır.
- Get Definition aktivitesiyle bu tanıma daha sonra erişilebilir.
Set Scenario Number Of Run
Set Scenario Number Of Run aktivitesi, robot uygulamasında senaryonun kaç tur döndüğünü, başarılı task sayısını bulmanızı sağlar. Finansal Fayda hesaplamaları açısından önemlidir. Bu sebeple senaryonun başa döndüğü noktaya ya da end’e bağlamadan önce eklenmelidir. Orchestrator sayfasında, senaryolar başlığı altında, task çözme sayısı olarak çıktısı yer almaktadır.
Set Transaction Status
Set Transaction Status aktivitesiyle, Orchestrator yani yönetim panelinden “Kuyruklar” sayfasında oluşturduğunuz kuyruktaki bir öğenin statüsünü (durumunu) güncelleyebilirsiniz. Queue Name satırına Kuyruk adı, Queue Name Row Number satırına güncellenmesini istediğiniz öğenin kuyruktaki sıra numarası yazılmalı ve Status satırından da güncellemek istediğiniz statü (durum) bilgisi seçilmelidir.
Bu değeri isterseniz manuel şekilde yazabilir, isterseniz Get Transaction Item işlemi sonrası çıktı olarak aldığınız collection’ı kullanarak değişken şeklinde yazabilirsiniz.
Öğelerin statüsünü (durumlarını) senaryolarınızın içerisinde yönetmeniz gerekmektedir. Senaryo tasarımı içerisinde Get Transaction Item aktivitesi kullanılarak çekilen öğe, işlendikten hemen sonra statüsü belirlenmezse Orchestratorda ‘In Progress’ statüsünde kalır. Akış içerisinde, Set Transaction Status aktivitesiyle işlenen öğe başarılı olduysa ‘Successful’, hata aldıysa ‘Failed’ durumuna güncellenmesi gerekmektedir.
Hata almış, Failed statüsüne güncelleyeceğiniz öğenin aldığı hatayı Orchestrator’da öğe detaylarında görmek için; Error Message alanını doldurabilirsiniz. Bu alanı, manuel bir şekilde istediğinizi yazarak ya da Get Last Exception aktivitesinden aldığınız output değişkenini kullanarak doldurabilirsiniz.
Update Task
Update Task aktivitesi, işleme alınan taskın statüsünü güncellemek amacıyla kullanılır.
Robot aldığı taskı başarılı şekilde tamamladığında veya hata aldığında statüsü mutlaka update edilmelidir. Update Task aktivitesinin Status satırına yazılması gereken numeric değerler aşağıdaki gibidir.
- Status: “1” (New)
İşleme alınıp geri havuza bırakılmış ya da yeni açılmış task anlamına gelir.
- Status: “2” (InProgress)
Bir robot tarafından işleme alınmış task, get task aktivitesiyle çağrıldığında “2” statüsüne otomatik olarak geçer.
- Status: “3” (Done)
Taskın başarılı şekilde tamanlandığını ifade.
- Status: “4” (Rejected)
İşlem yapılmaktan vazgeçildiyse bu statüye çekilir.
- Status: “5” (Fail)
İşlem yapılırken hata alınmışsa bu statüye çekilir.