مشاركة عبر


DurableOrchestrationContext class

يوفر وظائف للتعليمات البرمجية للتطبيق الذي ينفذ عملية تزامن.

الخصائص

currentUtcDateTime

يحصل على التاريخ/الوقت الحالي بطريقة آمنة للاستخدام من قبل دالات المنسق.

يتم اشتقاق قيمة التاريخ/الوقت هذه من محفوظات التنسيق. يقوم دائما بإرجاع نفس القيمة عند نقاط محددة في التعليمات البرمجية لدالة المنسق، ما يجعلها محددة وآمنة لإعادة التشغيل.

customStatus

الحالة المخصصة للتنسيق

instanceId

معرف مثيل التنسيق الحالي.

يتم إنشاء معرف المثيل وإصلاحه عند جدولة دالة المنسق. يمكن إنشاؤه تلقائيا، وفي هذه الحالة يتم تنسيقه كمعرف GUID، أو يمكن تحديده من قبل المستخدم بأي تنسيق.

isReplaying

يحصل على قيمة تشير إلى ما إذا كانت دالة المنسق تعيد تشغيل نفسها حاليا.

تكون هذه الخاصية مفيدة عندما يكون هناك منطق يحتاج إلى التشغيل فقط عندما تكون وظيفة المنسق لا إعادة التشغيل. على سبيل المثال، قد تصبح أنواع معينة من تسجيل التطبيقات مزعجة جدا عند تكرارها كجزء من إعادة تشغيل دالة المنسق. يمكن أن تتحقق التعليمات البرمجية للمنسق لمعرفة ما إذا كانت الدالة تتم إعادة تشغيلها ثم إصدار عبارات السجل عندما تكون هذه القيمة false.

parentInstanceId

معرف التنسيق الأصل لمثيل التنسيق الفرعي الحالي. ستكون القيمة متاحة فقط في التنسيقات الفرعية.

يتم إنشاء معرف المثيل الأصل وإصلاحه عند جدولة دالة المنسق الأصل. يمكن إنشاؤه تلقائيا، وفي هذه الحالة يتم تنسيقه كمعرف GUID، أو يمكن تحديده من قبل المستخدم بأي تنسيق.

Task

نقطة إدخال لأساليب معالجة مجموعات الإجراءات المعلقة التي تمثلها مثيلات المهمة. للاستخدام في عمليات التوازي.

الأساليب

callActivity(string, unknown)

جدولة دالة نشاط تسمى name للتنفيذ.

callActivityWithRetry(string, RetryOptions, unknown)

جدولة دالة نشاط تسمى name للتنفيذ باستخدام خيارات إعادة المحاولة.

callEntity(EntityId, string, unknown)

يستدعي عملية على كيان، ويمرر وسيطة، وينتظر حتى يكتمل.

callHttp(CallHttpOptions)

جدولة استدعاء HTTP دائم إلى نقطة النهاية المحددة.

callSubOrchestrator(string, unknown, string)

جدولة دالة تزامن تسمى name للتنفيذ.

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

جدولة دالة منسق تسمى name للتنفيذ مع خيارات إعادة المحاولة.

continueAsNew(unknown)

إعادة تشغيل التنسيق عن طريق مسح محفوظاته.

createTimer(Date)

إنشاء مؤقت دائم تنتهي صلاحيته في وقت محدد.

يجب أن تنتهي صلاحية جميع المؤقتات الدائمة التي تم إنشاؤها باستخدام هذا الأسلوب أو يتم إلغاؤها باستخدام TimerTask.cancel() قبل اكتمال وظيفة المنسق. وإلا، فسيحافظ إطار العمل الأساسي على بقاء المثيل حيا حتى تنتهي صلاحية المؤقت.

getInput<T>()

يحصل على إدخال دالة المنسق الحالية كقيمة غير تسلسلية.

newGuid(string)

إنشاء GUID جديد آمن لإعادة التشغيل ضمن تنسيق أو عملية.

يؤدي التنفيذ الافتراضي لهذا الأسلوب إلى إنشاء UUID يستند إلى الاسم باستخدام الخوارزمية من RFC 4122 #4.3. إدخال الاسم المستخدم لإنشاء هذه القيمة هو مزيج من معرف مثيل التزامن ورقم تسلسل مدار داخليا.

setCustomStatus(unknown)

تعيين حالة JSON القابلة للتسلسل لدالة المنسق الحالية.

يتم تسلسل قيمة customStatusObject إلى JSON وسيتم توفيرها لواجهات برمجة تطبيقات استعلام حالة التنسيق. يجب ألا تتجاوز قيمة JSON المتسلسلة 16 كيلوبايت من النص المشفرة UTF-16.

سيتم توفير قيمة customStatusObject المتسلسلة لواجهات برمجة التطبيقات المذكورة أعلاه بعد عبارة yield أو return التالية.

signalEntity(EntityId, string, unknown)

إرسال عملية إشارة إلى كيان دائم، وتمرير وسيطة، دون انتظار استجابة. عملية حريق ونسيان.

waitForExternalEvent(string)

ينتظر بشكل غير متزامن حتى يتم رفع حدث بالاسم name وإرجاع بيانات الحدث.

يمكن للعملاء الخارجيين رفع الأحداث إلى مثيل تزامن انتظار باستخدام raiseEvent().

تفاصيل الخاصية

currentUtcDateTime

يحصل على التاريخ/الوقت الحالي بطريقة آمنة للاستخدام من قبل دالات المنسق.

يتم اشتقاق قيمة التاريخ/الوقت هذه من محفوظات التنسيق. يقوم دائما بإرجاع نفس القيمة عند نقاط محددة في التعليمات البرمجية لدالة المنسق، ما يجعلها محددة وآمنة لإعادة التشغيل.

currentUtcDateTime: Date

قيمة الخاصية

Date

customStatus

الحالة المخصصة للتنسيق

customStatus: unknown

قيمة الخاصية

unknown

instanceId

معرف مثيل التنسيق الحالي.

يتم إنشاء معرف المثيل وإصلاحه عند جدولة دالة المنسق. يمكن إنشاؤه تلقائيا، وفي هذه الحالة يتم تنسيقه كمعرف GUID، أو يمكن تحديده من قبل المستخدم بأي تنسيق.

instanceId: string

قيمة الخاصية

string

isReplaying

يحصل على قيمة تشير إلى ما إذا كانت دالة المنسق تعيد تشغيل نفسها حاليا.

تكون هذه الخاصية مفيدة عندما يكون هناك منطق يحتاج إلى التشغيل فقط عندما تكون وظيفة المنسق لا إعادة التشغيل. على سبيل المثال، قد تصبح أنواع معينة من تسجيل التطبيقات مزعجة جدا عند تكرارها كجزء من إعادة تشغيل دالة المنسق. يمكن أن تتحقق التعليمات البرمجية للمنسق لمعرفة ما إذا كانت الدالة تتم إعادة تشغيلها ثم إصدار عبارات السجل عندما تكون هذه القيمة false.

isReplaying: boolean

قيمة الخاصية

boolean

parentInstanceId

معرف التنسيق الأصل لمثيل التنسيق الفرعي الحالي. ستكون القيمة متاحة فقط في التنسيقات الفرعية.

يتم إنشاء معرف المثيل الأصل وإصلاحه عند جدولة دالة المنسق الأصل. يمكن إنشاؤه تلقائيا، وفي هذه الحالة يتم تنسيقه كمعرف GUID، أو يمكن تحديده من قبل المستخدم بأي تنسيق.

parentInstanceId: undefined | string

قيمة الخاصية

undefined | string

Task

نقطة إدخال لأساليب معالجة مجموعات الإجراءات المعلقة التي تمثلها مثيلات المهمة. للاستخدام في عمليات التوازي.

Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }

قيمة الخاصية

{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }

تفاصيل الأسلوب

callActivity(string, unknown)

جدولة دالة نشاط تسمى name للتنفيذ.

function callActivity(name: string, input?: unknown): Task

المعلمات

name

string

اسم دالة النشاط التي يجب استدعاها.

input

unknown

إدخال JSON القابل للتسلسل لتمريره إلى دالة النشاط.

المرتجعات

مهمة دائمة تكتمل عند اكتمال وظيفة النشاط المسماة أو فشلها.

callActivityWithRetry(string, RetryOptions, unknown)

جدولة دالة نشاط تسمى name للتنفيذ باستخدام خيارات إعادة المحاولة.

function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task

المعلمات

name

string

اسم دالة النشاط التي يجب استدعاها.

retryOptions
RetryOptions

خيارات إعادة المحاولة لدالة النشاط.

input

unknown

إدخال JSON القابل للتسلسل لتمريره إلى دالة النشاط.

المرتجعات

callEntity(EntityId, string, unknown)

يستدعي عملية على كيان، ويمرر وسيطة، وينتظر حتى يكتمل.

function callEntity(entityId: EntityId, operationName: string, operationInput?: unknown): Task

المعلمات

entityId
EntityId

الكيان الهدف.

operationName

string

اسم العملية.

operationInput

unknown

إدخال العملية.

المرتجعات

callHttp(CallHttpOptions)

جدولة استدعاء HTTP دائم إلى نقطة النهاية المحددة.

function callHttp(options: CallHttpOptions): Task

المعلمات

options
CallHttpOptions

كائن خيارات HTTP

المرتجعات

callSubOrchestrator(string, unknown, string)

جدولة دالة تزامن تسمى name للتنفيذ.

function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task

المعلمات

name

string

اسم دالة المنسق لاستدعاء.

input

unknown

إدخال JSON القابل للتسلسل لتمريره إلى دالة المنسق.

instanceId

string

معرف فريد لاستخدامه لمثيل التنسيق الفرعي. إذا لم يتم تحديد instanceId، فسينشئ الملحق معرفا بالتنسيق <calling orchestrator instance ID>:<#>

المرتجعات

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

جدولة دالة منسق تسمى name للتنفيذ مع خيارات إعادة المحاولة.

function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task

المعلمات

name

string

اسم دالة المنسق لاستدعاء.

retryOptions
RetryOptions

خيارات إعادة المحاولة لدالة المنسق.

input

unknown

إدخال JSON القابل للتسلسل لتمريره إلى دالة المنسق.

instanceId

string

معرف فريد لاستخدامه لمثيل التنسيق الفرعي.

المرتجعات

continueAsNew(unknown)

إعادة تشغيل التنسيق عن طريق مسح محفوظاته.

function continueAsNew(input: unknown)

المعلمات

input

unknown

البيانات القابلة للتسلسل JSON لإعادة تهيئة المثيل باستخدام.

createTimer(Date)

إنشاء مؤقت دائم تنتهي صلاحيته في وقت محدد.

يجب أن تنتهي صلاحية جميع المؤقتات الدائمة التي تم إنشاؤها باستخدام هذا الأسلوب أو يتم إلغاؤها باستخدام TimerTask.cancel() قبل اكتمال وظيفة المنسق. وإلا، فسيحافظ إطار العمل الأساسي على بقاء المثيل حيا حتى تنتهي صلاحية المؤقت.

function createTimer(fireAt: Date): TimerTask

المعلمات

fireAt

Date

الوقت الذي يجب أن تنتهي فيه صلاحية المؤقت.

المرتجعات

TimerTask الذي يكتمل عند انتهاء صلاحية المؤقت الدائم.

getInput<T>()

يحصل على إدخال دالة المنسق الحالية كقيمة غير تسلسلية.

function getInput<T>(): T

المرتجعات

T

newGuid(string)

إنشاء GUID جديد آمن لإعادة التشغيل ضمن تنسيق أو عملية.

يؤدي التنفيذ الافتراضي لهذا الأسلوب إلى إنشاء UUID يستند إلى الاسم باستخدام الخوارزمية من RFC 4122 #4.3. إدخال الاسم المستخدم لإنشاء هذه القيمة هو مزيج من معرف مثيل التزامن ورقم تسلسل مدار داخليا.

function newGuid(input: string): string

المعلمات

input

string

يستخدم لإنشاء GUID الفريد

المرتجعات

string

setCustomStatus(unknown)

تعيين حالة JSON القابلة للتسلسل لدالة المنسق الحالية.

يتم تسلسل قيمة customStatusObject إلى JSON وسيتم توفيرها لواجهات برمجة تطبيقات استعلام حالة التنسيق. يجب ألا تتجاوز قيمة JSON المتسلسلة 16 كيلوبايت من النص المشفرة UTF-16.

سيتم توفير قيمة customStatusObject المتسلسلة لواجهات برمجة التطبيقات المذكورة أعلاه بعد عبارة yield أو return التالية.

function setCustomStatus(customStatusObject: unknown)

المعلمات

customStatusObject

unknown

قيمة JSON القابلة للتسلسل لاستخدامها كحالة مخصصة لدالة المنسق.

signalEntity(EntityId, string, unknown)

إرسال عملية إشارة إلى كيان دائم، وتمرير وسيطة، دون انتظار استجابة. عملية حريق ونسيان.

function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)

المعلمات

entityId
EntityId

معرف الكيان الهدف.

operationName

string

اسم العملية.

operationInput

unknown

(اختياري) إدخال للعملية.

waitForExternalEvent(string)

ينتظر بشكل غير متزامن حتى يتم رفع حدث بالاسم name وإرجاع بيانات الحدث.

يمكن للعملاء الخارجيين رفع الأحداث إلى مثيل تزامن انتظار باستخدام raiseEvent().

function waitForExternalEvent(name: string): Task

المعلمات

name

string

اسم الحدث الخارجي الذي يجب انتظاره.

المرتجعات

مهمة تكتمل عند تلقي حدث خارجي للاسم المحدد