- Job'ların nasıl işleneceği değiştiren konfigürasyon


Hata bildirimlerinin gönderilip gönderilmeyeceği ise workflow.config içerisinde worker bazında farklı seçenekler kullanır. Örnek bir configuration aşağıda bulunabilir.


  <workflow>
    <applications>
      <add name="emakin2.com" title="emakin" ....>
        .....
        <workers>
          <add name="Workflow.WorkItem.Process" priority="Critical" retryDuration="00:10:00" maxRetry="10" maxRetryResult="Error" errorResult="Error" alertError="true" alertAbort="true" />
        </workers>
....
      </add>
    </applications>
  </workflow>

    

name alanı worker'ın adını belirler. Aşağıdaki adlardan birisi olabilir;



  • Workflow.Document.FullText ( Kayıtlı bir dokümanın full text katalog içerisine eklenmesi )
  • Workflow.Domain.Delete ( Domain silinmesi )
  • Workflow.Domain.Upgrade ( Süreçlerin market içerisinden güncellenmesi )
  • Workflow.FormData.XmlDatabase ( Form verisinin XML veritabanına aktarımı )
  • Workflow.FullText.Remover ( Fulltext katalog içerisinden bir kaydın kaldırılması )
  • Workflow.Instance.XmlDatabase ( İş akışı tarihçesinin XML veritabanına aktarımı )
  • Workflow.Message.Send ( E-Posta mesajının gönderimi )
  • Workflow.ScheduledTask ( Zamana bağlı görev )
  • Workflow.Task.Evaluate ( Zamana bağlı bir iş akışının başlatılması )
  • Workflow.WorkItem.Deadline ( Zamanaşımına uğrayan bir adımın ilerletilmesi )
  • Workflow.WorkItem.Evaluate ( Zamana bağlı bir iş adımının tekrar değerlendirilmesi )
  • Workflow.WorkItem.FullText ( Bir iş adımının fulltext katalog içerisine eklenmesi )
  • Workflow.WorkItem.Process ( Aksiyon alınan bir işin sonraki adımlara ilerletilmesi )
  • Workflow.WorkItem.Reminder ( Bekleyen bir işe ait hatırlatıcı mesaj gönderilmesi )
  • Workflow.FormData.XmlDatabaseRemover ( Form verisinin XML vertabanı içerisinden kaldırılması)

Priority
Job tipleri birbirine göre önceliklendirilirken bu attribute'a verilen değer dikkate alınır. Default olarak gelen öncelik skorunun ihtiyacı karşılamaması halinde bu alana aşağıdaki değerlerden birini girebilirsiniz:
  • None
  • Low
  • Normal
  • High
  • VeryHigh
  • Critical

RetryDuration
Bazı arka plan işleri gerekli şartlar oluşmadığı için daha sonra tekrar deneme yapmayı tercih edebilirler. Örneğin e-posta gönderimi için mail sunucusuna ulaşamamak yada kullanıcı tarafından bir işin kilitlenmiş olması gibi. Bu tür durumlarda bir sonraki denemenin ne kadar süre olacağı belirlenir.

MaxRetry
En fazla yapılacak olan deneme limitini belirler. Deneme limiti aşıldığında işin sonucu maxRetryResult parametresine göre belirlenir.

MaxRetryResult

Deneme adedi aşıldığına arka plan işin alınacağı durumu belirtir. Aşağıdaki değerlerden birisi olabilir.


  • Waiting
  • Processing
  • Error
  • Completed
  • Aborted


ErrorResult

Hata oluştuğunda alınacak durumu belirler. Bazı görevler için hata oluştuğunda dahi tamamlanmış şekilde varsayım yapılabilir, bu amaçla kullanılmalıdır.


AlertError

İş hata durumuna alındığında ilgili kişilere hata detaylarının bildiriminin yapılıp yapılmayacağını belirler.


AlertAbort

İş iptal durumuna alındığında ilgili kişilere hata detaylarının bildiriminin yapılıp yapılmayacağını belirler.


Hata Bildirimi Yapılan Kişiler

Hata ve uyarı mesajları hatanın oluştuğu domain level'i


* Standart ise workflow.config dosyasında belirtilen sysAdmin adresine

* Developer ise domain sistem yöneticilerine


gönderilir.



- Hangi Job'ların işleneceğini değiştiren konfigürasyon


Herhangi bir tipteki job'ın hiçbir zaman çalışmaması isteniyorsa aşağıdaki satırlar, 6Kare/AltiKare dizinindeki AltiKare.Workflow.Agent.exe.config dosyasında configuration node'u altına eklendikten sonra 6Kare Agent restart edilmelidir.

<workerPool>
   <disabledWorkers>
       <add name="Workflow.Document.FullText" />
   </disabledWorkers>
</workerPool>