vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

چنانچه در هریک از مراحل نصب یا کاربری نرم‌افزارها به مشکلی برخورد کرده‌اید یا هر سوال، اشکال یا ابهامی در این زمینه دارید، می‌توانید پاسخ خود را ابتدا در مطالب موجود جستجو و در صورت لزوم به عنوان یک مبحث جدید مطرح کنید، تا کارشناسان پشتیبانی به آن پاسخ دهند.

به منظور ثبت سوال جدید و یا پاسخ به موضوعات موجود، ابتدا می بایست از طریق صفحه مربوطه به سامانه وارد شوید. چنانچه نام کاربری دریافت نکرده اید، به صورت رایگان و از طریق صفحه مربوطه، ابتدا در سامانه ثبت نام نمایید.

انجمن های پشتیبانی سیمرغ نوسا

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 22 آبان 1402 11:17 ق.ظ توسط  Tariverdi
کنترل roll back برای وضعیتهای خودکار پیاپی
 0 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


کاربر باتجربه


کاربر باتجربه


--
22 آبان 1402 11:17 ق.ظ

    انتقال تجربه از آقای نیکخواه

    اگر در یک گردش کار، چند وضعیت تصمیم گیر خودکار پشت سر هم وجود داشته باشد، آنگاه اگر در یکی از وضعیتها خطایی رخ دهد، گردش کار به اولین تصمیم گیر خودکار برمی گردد. برای درک بهتر این مساله به دیاگرام زیر توجه کنید:

    در این دیاگرام چهار وضعیت خودکار پشت سرهم وجود دارد. در این گردش کار اگر مثلا در ارسال سفارش که در وضعیت 3 اتفاق می افتد خطایی رخ دهد آنگاه کار به وضعیت 1،  بازگشت (roll back) می کند. حال سوال اساسی اینجاست که آیا این رفتار صحیح است یا اینکه باید آن را نوعی خطا بشمار بیاوریم؟

    جواب اینجاست که این پدیده بخودی خود خطا نیست چرا که این رخداد شامل چند وظیفه خودکار پی در پی است و اگر بخواهیم رخداد roll back کند باید دقیقا به ابتدای رخداد برگشت کند اما در یک حالت، این پدیده را می توانیم یک خطای منطقی در طراحی در نظر بگیریم.

    وضعیتهای پیاپی شامل اتفاقهای خارج از پایگاه

    اگر در وضعیتهای پی در پی خودکار یک اتفاقی در خارج از پایگاه بیفتد آنگاه برگشت به وضعیت 1 پدیده مناسبی نیست و باعث اختلالهای ناخواسته خواهد شد. برای مثال به سه نمونه از اتفاقهای خارج از پایگاه توجه کنید:

    1- اجرای API و بروز شدن یک جدول اطلاعاتی در پایگاهی خارج از فرایندها

    2- اجرای یک پیام و تغییر در یک گردش کار در پایگاهی دیگر

    3-ارسال یک اعلامیه ایمیل یا پیامک

    در این حالت، برگشت به وضعیت 1 اصولا درست نیست و باعث اجرای دوباره API و پیام و ارسال مجدد اعلامیه ها خواهد شد. حال به مثال دیاگرام بالا توجه کنید:

    در این مثال:

    •  ابتدا در وضعیت 1، ثبت سفارش انجام می شود و همزمان اگر مشتری جدید باشد از طریق یک API مشتری جدید در سیستم مالی درج می شود.
    • در وضعیت 2، تامین اعتبار انجام می شود و همزمان حساب مرتبط با آن از طریق یک API بستانکار می شود.
    • در وضعیت 3، ارسال سفارش انجام می شود و همزمان توسط یک API، از موجودی کالا در انبار کسر می شود.

    حال اگر در هنگام ارسال سفارش خطایی رخ دهد و سیستم به وضعیت 1 برگردد، پس از اجرای مجدد، در وضعیت 2، مجددا اعتبار از حساب مرتبط کسر خواهد شد. 

    نکته دیگر مشکل رفع اشکال و Debugg کردن خطاست. از آنجایی که متوجه نمی شویم خطا در کدام API اتفاق افتاده است، لذا در پیدا کردن و رفع خطا دچار مشکل خواهیم شد.

    نتیجه مهم: اگر وظایف یک گردش کار، شامل فعالیتهای موثر در سیستمهای خارج از پایگاه باشد، از آنجایی که این فعالیتها برگشت پذیر نیستند لذا در طراحی roll back در وضعیتهای پی درپی باید این نکته را در نظر بگیرید.

    راه حل 

    برای رفع این مشکل باید در وضعیتهای شامل این وظایف، یک تاخیر کوتاه (مثلا 1 ثانیه) ای را اعمال کنید که در هنگام بروز خطا، و roll back، سیستم در همین وضعیت متوقف شود و به وضعیتهای قبل تر بازگشت نکند. برای نمونه در شکل زیر، برای وضعیت 3 (در انتظار ارسال سفارش) این تاخیر اعمال شده است:

     

    با تشکر از آقای نیکخواه برای انتقال این تجربه و سپاس از آقای نجفی برای راهنمایی هایشان در این زمینه

    پيوست ها
    شما مجاز به پاسخ به اين پست نمي باشيد.


    kurtkoy escort
    bostanci escort
    ankara escort
    comendo minha prima gordinha rajini murugan movie hd moglie con due negri calcaterra e lara scena hot mujeres con ropa interior transparente