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:
| Ayar | Açıklama |
|---|---|
TimeoutDay / TimeoutHour / TimeoutMinute | Beklenecek sürenin gün, saat ve dakika bileşenleri. |
TimeoutDuration | Bekleme süresi (TimeSpan olarak). |
TimeoutOptions | Zaman aşımı davranışını belirleyen seçenekler. |
CalculateUsingHolidays | Süre hesabında resmi tatilleri dikkate alır. |
CalculateUsingWorkingHours | Sü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.
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/TimeoutMinutebileşenleriyle, ister tek birTimeoutDuration(TimeSpan) değeriyle ifade edebilirsiniz. CalculateUsingWorkingHoursaçı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.