<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Durable Task | The .NET Blog</title><link>https://thedotnetblog.com/hi/tags/durable-task/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>hi</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sun, 31 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/hi/tags/durable-task/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft Agent Framework में स्थायी वर्कफ़्लो: In-Memory से Azure Functions तक</title><link>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/maf-durable-workflows-azure-functions-durable-task/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/maf-durable-workflows-azure-functions-durable-task/</guid><description>MAF का वर्कफ़्लो प्रोग्रामिंग मॉडल अब Durable Task द्वारा समर्थित स्थायी निष्पादन का समर्थन करता है — यहाँ बताया गया है कि कैसे ऐसे कम्पोज़ेबल एजेंट वर्कफ़्लो बनाएं जो प्रोसेस रिस्टार्ट से बचते हैं और Azure Functions पर स्केल होते हैं।</description><content:encoded>&lt;p&gt;शुरुआती AI एजेंट वर्कफ़्लो की समस्याओं में से एक: वे नाजुक होते हैं। एक प्रोसेस से बंधे लंबे समय तक चलने वाले मल्टी-स्टेप वर्कफ़्लो का मतलब है कि प्रोसेस रिस्टार्ट = राज्य खोना। सरल डेमो के लिए यह ठीक है। प्रोडक्शन वर्कलोड के लिए नहीं।&lt;/p&gt;
&lt;p&gt;Microsoft Agent Framework का वर्कफ़्लो प्रोग्रामिंग मॉडल अब Azure Functions होस्टिंग के साथ Durable Task फ्रेमवर्क द्वारा समर्थित &lt;strong&gt;स्थायी निष्पादन&lt;/strong&gt; का समर्थन करता है। यहाँ प्रोग्रामिंग मॉडल कैसे काम करता है और स्थायित्व क्यों महत्वपूर्ण है।&lt;/p&gt;
&lt;h2 id="मल-नरमण-खड"&gt;मूल निर्माण खंड&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Executor&lt;/strong&gt; काम की मूल इकाई हैं। प्रत्येक टाइप्ड है — एक विशिष्ट इनपुट लेता है और एक विशिष्ट आउटपुट उत्पन्न करता है:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Microsoft.Agents.AI.Workflows&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;internal&lt;/span&gt; &lt;span class="kd"&gt;sealed&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OrderLookup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Executor&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;OrderCancelRequest&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;OrderLookup&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;override&lt;/span&gt; &lt;span class="kd"&gt;async&lt;/span&gt; &lt;span class="n"&gt;ValueTask&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;HandleAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;OrderCancelRequest&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;IWorkflowContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;CancellationToken&lt;/span&gt; &lt;span class="n"&gt;cancellationToken&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// ऑर्डर खोजें, वापस करें&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Order&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;वर्कफ़्लो&lt;/strong&gt; fluent builder का उपयोग करके executor को directed graphs में जोड़ते हैं। फ्रेमवर्क निष्पादन, चरणों के बीच डेटा प्रवाह और त्रुटि प्रसार संभालता है।&lt;/p&gt;
&lt;p&gt;आप मॉडल कर सकते हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;अनुक्रमिक श्रृंखलाएं (चरण A → चरण B → चरण C)&lt;/li&gt;
&lt;li&gt;समानांतर Fan-out/Fan-in (एजेंट A, B, C को समानांतर में चलाएं, परिणाम एकत्र करें)&lt;/li&gt;
&lt;li&gt;सशर्त शाखाएं&lt;/li&gt;
&lt;li&gt;Human-in-the-loop अनुमोदन (वर्कफ़्लो रोकें, बाहरी सिग्नल की प्रतीक्षा करें)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="सथनय-वकस-क-लए-in-memory-runner"&gt;स्थानीय विकास के लिए In-Memory Runner&lt;/h2&gt;
&lt;p&gt;शुरू करना त्वरित है:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dotnet&lt;/span&gt; &lt;span class="k"&gt;add&lt;/span&gt; &lt;span class="n"&gt;package&lt;/span&gt; &lt;span class="n"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Agents&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dotnet&lt;/span&gt; &lt;span class="k"&gt;add&lt;/span&gt; &lt;span class="n"&gt;package&lt;/span&gt; &lt;span class="n"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Agents&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Workflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;कोर पैकेज में एक हल्का in-process runner शामिल है। कोई बाहरी निर्भरता नहीं, कोई डेटाबेस नहीं, कोई Azure संसाधन नहीं। स्थानीय विकास और unit testing के लिए बेहतरीन।&lt;/p&gt;
&lt;h2 id="durable-task-क-सथ-सथयतव-जडन"&gt;Durable Task के साथ स्थायित्व जोड़ना&lt;/h2&gt;
&lt;p&gt;जब एक वर्कफ़्लो को प्रोसेस रिस्टार्ट से बचना हो — क्योंकि यह लंबे समय तक चलता है, क्योंकि इसमें human-in-the-loop चरण हैं, क्योंकि यह कई समानांतर एजेंट कॉल पर वितरित है — in-memory runner पर्याप्त नहीं है।&lt;/p&gt;
&lt;p&gt;MAF का Durable Task एकीकरण Azure Storage में वर्कफ़्लो स्थिति संग्रहीत करता है। अगर प्रोसेस रिस्टार्ट होती है, तो वर्कफ़्लो वहीं से फिर शुरू होता है जहाँ रुका था। प्रोग्रामिंग मॉडल वही रहता है; आप केवल runner बदलते हैं।&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dotnet&lt;/span&gt; &lt;span class="k"&gt;add&lt;/span&gt; &lt;span class="n"&gt;package&lt;/span&gt; &lt;span class="n"&gt;Microsoft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Agents&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Workflows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DurableTask&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;वही executor, वही वर्कफ़्लो ग्राफ — स्थायी स्थिति द्वारा समर्थित।&lt;/p&gt;
&lt;h2 id="azure-functions-हसटग"&gt;Azure Functions होस्टिंग&lt;/h2&gt;
&lt;p&gt;तीसरी परत Azure Functions होस्टिंग है। आपका वर्कफ़्लो Function app बन जाता है: HTTP endpoint के माध्यम से वर्कफ़्लो ट्रिगर करें, और स्थायी runtime स्केलिंग, स्थिति और विश्वसनीयता संभालता है।&lt;/p&gt;
&lt;p&gt;इसका मतलब है कि समानांतर कॉल, सशर्त शाखाओं और मानव अनुमोदन वाला multi-agent वर्कफ़्लो कस्टम स्थिति प्रबंधन के बिना serverless Functions वातावरण में स्केल कर सकता है।&lt;/p&gt;
&lt;h2 id="यह-कय-महतवपरण-ह"&gt;यह क्यों महत्वपूर्ण है&lt;/h2&gt;
&lt;p&gt;यह संयोजन वास्तविक AI सिस्टम के लिए महत्वपूर्ण है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;समानांतर एजेंट कॉल&lt;/strong&gt; — बिना ब्लॉकिंग के एक साथ कई विशेष एजेंटों में वितरित करें, सभी पूर्ण होने पर परिणाम एकत्र करें&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;लंबे समय तक चलने वाली प्रक्रियाएं&lt;/strong&gt; — मानव अनुमोदन या बाहरी घटनाओं वाले वर्कफ़्लो घंटों या दिनों में रुक और फिर शुरू हो सकते हैं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;स्केलिंग&lt;/strong&gt; — Azure Functions क्षैतिज रूप से निष्पादन स्केल करता है; Durable Task फ्रेमवर्क समानांतर स्थिति समन्वय प्रबंधित करता है&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;अगर आप सरल स्थानीय डेमो से परे MAF वर्कफ़्लो बना रहे हैं, तो यही प्रोडक्शन-गुणवत्ता निष्पादन का रास्ता है।&lt;/p&gt;
&lt;p&gt;मूल पोस्ट: &lt;a href="https://devblogs.microsoft.com/dotnet/durable-workflows-in-microsoft-agent-framework/"&gt;Durable Workflows in the Microsoft Agent Framework&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>