# IsItemInQueue

### 📌 Amaç

IsItemInQueue iş akışı, ilgili iş kaydının queue (kuyruk) içerisinde daha önce oluşturulup oluşturulmadığını kontrol etmek için kullanılır. Bu aşamada kayıt; benzersiz anahtar, referans numarası veya belirlenen iş kurallarına göre queue üzerinde sorgulanır. Amaç aynı kaydın tekrar kuyruğa eklenmesini engellemek ve mükerrer işlem oluşmasının önüne geçmektir.

Kontrol sonucunda kayıt queue içerisinde bulunuyorsa ilgili durum loglanır ve kayıt tekrar işleme alınmaz. Kayıt bulunmuyorsa süreç bir sonraki adıma yönlendirilerek queue ekleme veya işleme alma işlemleri devam eder. Böylece süreç içerisinde veri tutarlılığı, işlem güvenliği ve kaynak verimliliği sağlanır.


### 📥 Girdi

| Parametre | Açıklama |
|-----------|----------|
| StartTime | Başlangıç saati |
| AddWork   | Manuel veri yükleme |
| AddToProcessName | İşlerin ekleneceği süreç adı |
| UniqueIncludeIdle | Tekil kontrolüne bekleyenleri dahil et |
| UniqueIncludeCompleted | Tekil kontrolüne tamamlananları dahil et |
| UniqueIncludeFailed | Tekil kontrolüne hatalıları dahil et |
| UniqueIncludeDisabled | Tekil kontrolüne pasifleri dahil et |
| UniqueIncludeExpired | Tekil kontrolüne zaman aşımına uğramışları dahil et |
| UniqueControlDay | Tekil kontrolü kaç güne göre yapılsın |
| AddWorkUniqueFieldName | Tekil kontrolü alanı |


### ⚙️ Sorumluluklar

* Duplicate kayıtları engeller
* Idempotent çalışma sağlar
* Gereksiz işlem yükünü azaltır