Ana içeriğe geç

Zamanlayıcı

Akışı belirli bir süre boyunca ya da bir olay gerçekleşene kadar bekleten nesnedir. Akış bu nesneye ulaştığında, tanımladığınız süre dolana (veya beklenen koşul oluşana) kadar bu adımda durur, ardından bir sonraki adıma geçer.

Ne zaman kullanılır?

Akışın bir noktada bilinçli olarak duraklamasını istediğinizde kullanın: bir işlemin tamamlanması için zaman tanımak, belirli bir süre sonra hatırlatma/yönlendirme yapmak ya da bir dış olayın gerçekleşmesini beklemek gibi. Süreyi gün, saat ve dakika cinsinden ayarlarsınız.

Adlandırılmış bir zamanlayıcıyı akışın başka bir noktasından başlatıp durdurmak istiyorsanız Zamanlayıcı Başlat ve Zamanlayıcı Bitir nesnelerini birlikte kullanın.

Ayarlar

Zamanlayıcı nesnesi seçildiğinde tasarımcıda şu ayarlar düzenlenir:

AyarAçıklama
TimeoutDay / TimeoutHour / TimeoutMinuteBeklenecek sürenin gün, saat ve dakika bileşenleri.
TimeoutDurationBekleme süresi (TimeSpan olarak).
TimeoutOptionsZaman aşımı davranışını belirleyen seçenekler.
CalculateUsingHolidaysSüre hesabında resmi tatilleri dikkate alır.
CalculateUsingWorkingHoursSüre hesabında mesai saatlerini dikkate alır.

Akıştaki yeri

Zamanlayıcı, akışın ortasında bir bekleme noktasıdır: önceki adım tamamlanınca akış buraya gelir, tanımlı süre dolana kadar burada durur, ardından bir sonraki adıma geçer. Süre hesaplaması, CalculateUsingHolidays ve CalculateUsingWorkingHours ayarlarına göre tatil günlerini ve mesai saatlerini hesaba katacak şekilde değiştirilebilir.

uyarı

Bu nesnenin tasarımcıdaki ayar başlıkları ve özellikleri doğrulanmıştır; ancak akış kodu içinden kullanım idiyomu henüz örnekle teyit edilmemiştir. Süre ayarlarını ve davranışını IDE'de uygularken doğrulayın. TODO: doğrulanacak.

İpuçları

  • Süreyi ister TimeoutDay / TimeoutHour / TimeoutMinute bileşenleriyle, ister tek bir TimeoutDuration (TimeSpan) değeriyle ifade edebilirsiniz.
  • CalculateUsingWorkingHours açıkken bekleme yalnızca mesai saatleri üzerinden ilerler; bu nedenle mesai dışı geçen süre toplam beklemeye eklenmez.
  • Adlandırılmış bir zamanlayıcıyı sonradan başlatıp durdurmak için Zamanlayıcı Başlat / Zamanlayıcı Bitir nesnelerini kullanın.
Doğrulanmış kod arayüzü (FlowTimer)

Sınıf: FlowTimer (FlowObjectDesigner<FlowTimerProperties>)

Özellikler: TimeoutDay (Int32), TimeoutHour (Int32), TimeoutMinute (Int32), TimeoutDuration (TimeSpan), TimeoutOptions (IFlowTimeoutOptions), CalculateUsingHolidays (Boolean), CalculateUsingWorkingHours (Boolean)

Not: Sınıf ve üyeleri reflection dökümünden doğrulanmıştır, ancak çalışma zamanı kullanım idiyomu örnekle teyit edilmemiştir ([dump-only]). TODO: doğrulanacak.

Kaynak: synergy-csp references/flow-objects.md (FlowTimer, dump-only) + _harvest/flow-knowledge.md.