Bir işlemin (transaction'in) otomatik olarak çalıştırılması.
TXN’i zamanlanmış göreve ekletirken göz önünde bulundurulması gereken bir konu ; Request Message’daki alanlara hangi değerler atandıysa o değerler kullanılır. Örneğin, request mesaja her seferinde farklı bir lokasyon id geçilemez.
Hangi periyotta çalıştırılması isteniyorsa, devreye alım ekibine bildirilir.
Örnek-1
<Transaction Name=" KpkKontTarihceHizmetTutarGuncelle" Group="HS" Module="Genel " UserId="0">
<Schedule Frequency="Daily" StartHour="21" StartMinute="15" StartSecond="00"/>
</Transaction>
Örnek-2
<Transaction Name=" UretilemeyenDosyaLogTekrarGonder" Group="Loglama" Module="EntOzel" UserId="0">
<Schedule Frequency="Hourly" HourInterval="2"/>
</Transaction>
UserId’inin etkilediği bir durum yoktur. Zamanlanmış görevi çalıştıran kullanıcı 850’dir. Normal olan otomatik çalışacak TXN’in sıfırdan yazılmasıdır. Eğer hazırladığınız işlem sadece bu iş için yazılmadı ise, hem arayüzden hem otomatik olarak çalıştırılacak ise, TXN içine aşağıdaki gibi bir kontrol eklenerek tek TXN üzerinden işlemler yapılabilir. Burada dikkat edilmesi gereken husus, herhangi bir entegrasyonun bu TXN i çağırır ise onun da kullanıcı id’si 850 olduğu için aynı kod bloğuna girecek olmasıdır.
public void Execute(KpkKontTarihceHizmetTutarGuncelleRequest request, KpkKontTarihceHizmetTutarGuncelleResponse response)
{
bool scheduledJobMode = (request.KullaniciId == EntegrasyonConstants.EntUserId);
if (scheduledJobMode)
{
Artık burada ne isteniyor ise...
Hiç yorum yok:
Yorum Gönder