29 Temmuz 2011 Cuma

Delay Activity Timeout Duration

İş akışı geliştirirken akışın belli bir yerinde bekletilmesi gerektiğinde "Delay Activity" kullanırız.
Akış belli bir süre bekletildikten sonra devam eder. Bekleme süresini aşağıdaki kod parçası ile belirtebiliriz.
public TimeSpan delayActivity1_TimeoutDuration = default(System.TimeSpan);
private void delayActivity1_InitializeTimeoutDuration(object sender, EventArgs e)
{
    DateTime before = DateTime.Now;
    DateTime after = DateTime.Now.AddDays(1);
    TimeSpan delta = after.Subtract(before);
    delayActivity1_TimeoutDuration = delta;
    delayActivity1.TimeoutDuration = delayActivity1_TimeoutDuration;
}

Sharepoint 2010 Delay Activity

Uzun aradan sonra tekrar merhaba,

Sharepoint 2010 ile iş akışları geliştirirken delay activity kullanma ihtiyacı duymuştum.
Herşey gayet düzgün çalışıyor ve hiçbir sıkıntı yoktu ancak bir türlü delay activity tetiklenmiyor ve çalışmıyordu.
Bunun üzerine biraz "etrafa" bakınmadan sonra MSDN'de "Job-workflow: Stsadm property" başlığına denk geldim.
Hemen getproperty komutunu kendi portalımda çalıştırıp aşağıdaki sonucu aldım.
<Property Exist="No" />
sonucu aldıktan sonra
stsadm -o setproperty -pn job-workflow -pv "Every 5 minutes between 0 and 59" -url http://mavi
Komutunu çalıştırıp iisreset ve Sharepoint 2010 Timer servisini yeniden başlattıktan sonra delay activity tetiklenmeye başladı.

Siz de bu şekilde böyle bir sürpriz yaşarsanız stsadm yardımınızda :) Diğer job çalışma aralıkları ise;

  • "Every 5 minutes between 0 and 59"
  • "Hourly between 0 and 59"
  • "Daily at 15:00:00"
  • "Weekly between Fri 22:00:00 and Sun 06:00:00"
  • "Monthly at 15 15:00:00"
  • "Yearly at Jan 1 15:00:00"