UiPath Projelerinde Mutual Exclusion Yapısı Nasıl Kurulur

5af143c3ae78492274360690.jpg

Merhaba, bu yazımda kendi karşılaştığım bir sıkıntıyı nasıl çözdüğümü anlatacağım. Paralel programlama ve işletim sistemleri derslerinde anlatılan bir konu olan Mutual Exclusion gerçek hayatta karşıma çıktı. Bu problemi çözmek için eğitim hayatımdaki teorik bilgilere geri dönmem gerekti.

Mutual Exclusion (Karşılıklı Dışlama), birden fazla aynı anda çalışan programın aynı kaynağı kullanmaya çalışması ve kaynağı hali hazırda kullanan bir program varsa, diğer programa izin verilmemesidir.

Bir RPA projesinde tam Mutual Exclusion ile çözülebilecek bir problemle karşılaştım. 2 farklı robot üzerinde çalışacak bir sürecin, gün içerisinde defalarca çalışması ve birbiriyle asla aynı anda çalışmaması gerekiyordu. Her ne kadar orchestrator üzerinde çalışma zamanları farklı zaman dilimlerinde olsa bile, robot üzerinde çalışan farklı bir sürecin çalışma süresinin uzun sürmesi çakışma ihtimalini artıracaktı.

RPA Projesinde Mutual Exclusion Yapısı Nasıl Kurdum?

Bunu çözmek için iki robot uygulamasının da erişebildiği bir ortak klasörü kullandım. Ortak alanda MUTEX.txt adıyla bir text dosyası oluşturdum. Bir robotun, diğer robotun çalışmakta olduğunu anlamak için bu text dosyasını okumasını ve içerisinde LOCKED yazıp yazmadığını kontrol etmesini sağladım. Süreç adımları ve akış diyagramı aşağıdaki şekildeydi.

  1. Robot ortak alandaki MUTEX.txt dosyasını okur.
  2. Ortak alandaki MUTEX.txt dosyasında LOCKED yazıyorsa işlemi bitir.
  3. Ortak alandaki MUTEX.txt dosyasında LOCKED yazmıyorsa, MUTEX.txt dosyasına LOCKED yaz.
  4. İşlemleri gerçekleştir.
  5. txt dosyasında yer alan yazıları temizle.
  6. İşlemi bitir.

My Docs.png

 

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.