যদি ইন্টারফেস একটি ত্রুটি রিপোর্ট করে, আবার চেষ্টা করুন? ডকুমেন্টেশন কাজগুলি প্রথমে পার্থক্য করা উচিত কোন ব্যর্থতাগুলি পুনরুদ্ধার করা যেতে পারে৷

একটি ত্রুটি রিপোর্ট করার পরে আবার চেষ্টা করা খুবই সাধারণ। একটি ত্রুটি রিপোর্ট করার পরে অসীমভাবে আবার চেষ্টা করা ছোটখাট ত্রুটিগুলিকে বাড়িয়ে দেবে৷ অনুমতি ত্রুটি, অ্যাকাউন্টের অপরাধ, দূষিত ফাইল, এবং অস্থায়ী ব্যস্ত পরিষেবাগুলি একই পুনঃপ্রচেষ্টার পথ অনুসরণ করা উচিত নয়। শ্রেণীকরণের পরে, কতক্ষণ অপেক্ষা করতে হবে, কতবার চেষ্টা করতে হবে এবং ব্যবহারকারীর হস্তক্ষেপ প্রয়োজন কিনা তা নির্ধারণ করুন।

একটি ত্রুটি রিপোর্ট করার পরে পুনরায় চেষ্টা করা একটি সাধারণ অভ্যাস, কিন্তু আপনি যদি অনির্দিষ্টভাবে নির্বিচারে পুনরায় চেষ্টা করেন তবে ত্রুটিগুলি বড় করা যেতে পারে। অনুমতি ত্রুটি, অ্যাকাউন্টের অপরাধ, ক্ষতিগ্রস্ত ফাইল, এবং অস্থায়ী ব্যস্ত পরিষেবাগুলি ভিন্নভাবে পরিচালনা করা উচিত।

এই নিবন্ধটি ডেভেলপার এবং পণ্য ছাত্রদের জন্য উপযুক্ত যারা ডকুমেন্ট অনুবাদ এবং রূপান্তরের মতো অ্যাসিঙ্ক্রোনাস কাজ করছেন। এটি পড়ার পরে, আপনি প্রথমে ব্যর্থতাগুলিকে শ্রেণীবদ্ধ করতে পারেন এবং তারপর কতক্ষণ অপেক্ষা করতে হবে, সর্বাধিক কতগুলি প্রচেষ্টা এবং কখন ব্যবহারকারীর হস্তক্ষেপ প্রয়োজন তা নির্ধারণ করতে পারেন৷

নীচের কোড এবং প্রবাহ সিন্থেটিক নমুনার উপর ভিত্তি করে যা একটি বিচ্ছিন্ন পরিবেশে পরীক্ষা করা হয়েছে। তারা সব খাঁটি নথি বা পণ্য প্রভাব একটি গ্যারান্টি প্রতিনিধিত্ব করে না. গুরুত্বপূর্ণ নথিগুলি প্রক্রিয়া করার আগে অনুগ্রহ করে মূলগুলি রাখুন এবং পাঠ্যের সীমানা এবং গ্রহণযোগ্য আইটেমগুলি অনুসারে সেগুলি পর্যালোচনা করুন৷

ডকুমেন্ট টাস্ক একটি ত্রুটি রিপোর্ট করার পরে কিভাবে পুনরায় চেষ্টা করবেন? এক বাক্যে উপসংহার

আবার চেষ্টা করবেন কিনা তা সিদ্ধান্ত নেওয়ার আগে প্রথমে ব্যর্থতাকে শ্রেণীবদ্ধ করুন: অস্থায়ী ব্যর্থতাগুলিকে আবদ্ধ করা হয় এবং পিছিয়ে দেওয়া হয়, অনুমতি এবং অ্যাকাউন্টের সমস্যাগুলি বন্ধ করা হয় এবং ব্যবহারকারীর কাছে হস্তান্তর করা হয় এবং ইনপুট ত্রুটিগুলি ঠিক করার জন্য ব্যবহারকারীকে ছেড়ে দেওয়া হয়৷

আপনার অবস্থাপ্রস্তাবিত অভ্যাসকারণ
পরিষেবা অস্থায়ী যানজটআবদ্ধ ব্যাকঅফ, সীমিত সংখ্যক বার এবং মোট অপেক্ষার সময়একই সময়ে সমস্ত কাজ নিবিড়ভাবে পুনরায় প্রকাশ করা এড়িয়ে চলুন
লগইন বা অনুমতি অবৈধব্যবহারকারীকে পুনরায় অনুমোদনের জন্য অনুরোধ করুনপুরানো শংসাপত্রগুলি বারবার পুনরায় ব্যবহার করা কেবল ব্যর্থ হতে থাকবে
অ্যাকাউন্ট বা বিলের অস্বাভাবিকতাথামুন এবং রিপোর্ট করুনকোন স্বয়ংক্রিয় টপ আপ বা অ্যাকাউন্ট পরিবর্তন করা উচিত নয়
ইনপুট গঠন ত্রুটিব্যবহারকারীকে ইনপুট ঠিক করতে দিনঠিক একই ফাইল পুনরায় পাঠানোর কোন মানে নেই
POST অনুরোধের সময় শেষপ্রথমে নিশ্চিত করুন যে ইন্টারফেসটি idempotent কী বা টাস্ক কোয়েরি সমর্থন করে কিনা।যদি ক্লায়েন্ট একটি প্রতিক্রিয়া না পায়, তাহলে এর মানে এই নয় যে সার্ভার একটি টাস্ক তৈরি করেনি।

প্রথমে নির্ধারণ করুন পুনরায় চেষ্টা করলে ডুপ্লিকেট টাস্ক তৈরি হবে কিনা।

পোস্ট টাইমআউট বিশেষভাবে ঝামেলাপূর্ণ। যদি ক্লায়েন্ট একটি প্রতিক্রিয়া না পায়, তাহলে এর মানে এই নয় যে সার্ভার একটি টাস্ক তৈরি করেনি। ইন্টারফেসে যদি অদম্য কী না থাকে এবং টাস্ক কোয়েরি মেকানিজম না থাকে, তাহলে অন্ধ রিসেন্ডিং একাধিক অনুবাদ কাজ তৈরি করতে পারে।

অতএব, পুনরায় চেষ্টা করার কৌশলটি শুধুমাত্র HTTP স্ট্যাটাস কোড দেখার পরিবর্তে ইন্টারফেস চুক্তিকে অগ্রাধিকারমূলকভাবে অনুসরণ করা উচিত।

বিশুদ্ধ ফাংশন হিসাবে বার সংখ্যা এবং অপেক্ষার বাজেট লিখুন

from enum import Enum

class Failure(Enum):
    TRANSIENT = "transient"
    AUTH = "auth"
    BILLING = "billing"
    INVALID_INPUT = "invalid_input"

def delay_for(kind, attempt, replay_safe):
    if type(attempt) is not int or attempt < 0:
        raise ValueError("invalid attempt")
    if not replay_safe or kind is not Failure.TRANSIENT:
        return None
    schedule = (1, 2, 4)
    return schedule[attempt] if attempt < len(schedule) else None

assert delay_for(Failure.TRANSIENT, 0, True) == 1
assert delay_for(Failure.TRANSIENT, 2, True) == 4
assert delay_for(Failure.TRANSIENT, 3, True) is None
assert delay_for(Failure.TRANSIENT, 0, False) is None
assert delay_for(Failure.BILLING, 0, True) is None
assert delay_for(Failure.INVALID_INPUT, 0, True) is None

এই কোডটি শুধুমাত্র পুনঃপ্রচার পরিকল্পনার হিসাব করে, আসলে অপেক্ষা করে না এবং অনুরোধ পাঠায় না। স্থির এক, দুই, এবং চার সেকেন্ড সিন্থেটিক প্রদর্শনের মান এবং সাধারণ পরিষেবা সুপারিশ নয়।

উত্পাদন পরিবেশের নিম্নলিখিত বিষয়গুলিও বিবেচনা করা দরকার:

  • Retry-After সার্ভার দ্বারা ফিরে এসেছে৷
  • একই সময়ে প্রচুর সংখ্যক কাজ পুনরায় শুরু করা এড়াতে এলোমেলো ঝগড়া
  • সামগ্রিক সময়সীমা
  • সমন্বিত সংখ্যার সীমা

সার্ভারের জন্য প্রয়োজনীয় অপেক্ষার সময় স্থানীয় বাজেটের চেয়ে বেশি হলে, আগে থেকে অনুরোধ শুরু করার পরিবর্তে পুনরায় চেষ্টা করা বন্ধ করা উচিত।

ত্রুটির ধরন বিভিন্ন কর্মের সাথে মিলে যায়

ব্যর্থতাঐচ্ছিক ক্রিয়াকলাপএটি ডিফল্টরূপে করা উচিত নয়
সাময়িক যানজটসীমানা পশ্চাদপসরণ আছেসমস্ত কাজ একই সাথে নিবিড়ভাবে পুনরায় চালু করা হয়
লগইন বা অনুমতির মেয়াদ শেষ হয়ে গেছেস্পষ্টভাবে তাদের পুনরায় অনুমোদন করার কথা মনে করিয়ে দিনবারবার পুরানো শংসাপত্রগুলি পুনরাবৃত্তি করা হচ্ছে
অ্যাকাউন্ট বা বিলের অসঙ্গতিথামুন এবং রিপোর্ট করুনস্বয়ংক্রিয় টপ-আপ বা অ্যাকাউন্ট পরিবর্তন
ইনপুট কাঠামো ত্রুটিব্যবহারকারীদের তাদের ইনপুট ঠিক করতে দিনঠিক একই ফাইলটি পুনরায় পাঠান

যৌক্তিক কাজগুলি সংরক্ষণ করা এবং লগগুলি চেষ্টা করা

প্রতিটি ব্যবহারকারীর অপারেশন একটি লজিক টাস্কের সাথে মিলে যায় এবং এই যুক্তির অধীনে একাধিক প্রচেষ্টা হতে পারে। প্রতিটি প্রচেষ্টা শুরুর সময়, ব্যর্থতা বিভাগ এবং দূরবর্তী টাস্ক আইডি রেকর্ড করে। শেষ পর্যন্ত, গ্রহণযোগ্যতা পাস করা কেবল একটি ফলাফল নির্বাচন করা হয়।

এই পদ্ধতির সুবিধা হ'ল পুনরায় চেষ্টা করার সমস্যাগুলি সমাধানের সময় একটি সম্পূর্ণ রেকর্ড রয়েছে এবং প্রচেষ্টার সংখ্যাটি ব্যবহারকারীর অনুরোধের সংখ্যা হিসাবে ভুল গণনা করা হয় না।

📊 মূল তুলনা

ধারণাএটি কী তা রেকর্ড করুনফাংশন
যৌক্তিক কাজএকটি ব্যবহারকারী অপারেশনব্যবহারকারীর দ্বারা দেখা একই অনুরোধের সাথে সম্পর্কিত
ট্র্যাক রাখার চেষ্টা করুনশুরুর সময়, ব্যর্থতা বিভাগ, দূরবর্তী টাস্ক আইডিপুনরায় চেষ্টা করার প্রক্রিয়াটি সমস্যা সমাধানের জন্য ব্যবহৃত হয়েছে
গ্রহণযোগ্যতার ফলাফলএকটি আউটপুট যা গ্রহণযোগ্যতা পাস করেছেডেলিভারির চূড়ান্ত ফলাফল হিসাবে

অনুবাদ অভিজ্ঞতার স্থায়িত্ব আসে সুস্পষ্ট ব্যাখ্যা থেকে

OmniDoc এর সাথে সংযোগ করার সময়, ফ্রন্টএন্ডটি ব্যবহারকারীদের বর্তমান অবস্থা সম্পর্কে স্পষ্টভাবে অবহিত করা উচিত: তারা অপেক্ষা করছে কিনা, পুনরায় অনুমোদনের প্রয়োজন কিনা বা তাদের অ্যাকাউন্টটি পরীক্ষা করা দরকার কিনা। সমস্ত পরিস্থিতিকে "জেনারেটিং" হিসাবে প্রদর্শন করবেন না।

ব্যবহারকারীরা একটি বর্ণিত, আউট-অফ-এক্সিট কাজের জন্য অপেক্ষা করতে ইচ্ছুক, তবে বারবার এমন একটি বোতামে ক্লিক করতে রাজি হন না যা কোনও প্রতিক্রিয়া দেয় না।

তথ্যসূত্র: Python enum.

🎯 কোন পদ্ধতিটি আপনার জন্য উপযুক্ত?

আপনি যদি পরিষেবা পুনরায় শুরু করার জন্য অপেক্ষা করছেন

সীমাবদ্ধ পশ্চাদপসরণ ব্যবহার করুন, সর্বাধিক গণনা এবং মোট অপেক্ষার সময় সেট করুন এবং সার্ভারেরRetry-After কে সম্মান করুন।

আপনি যদি অনুমতি বা অ্যাকাউন্টের সমস্যার মুখোমুখি হন

স্বয়ংক্রিয় পুনরায় চেষ্টা বন্ধ করুন, ব্যবহারকারীদের অ্যাকাউন্টের স্থিতি পুনরায় অনুমোদন বা পরীক্ষা করতে অনুরোধ করুন।

যদি আপনার ইনপুট ফাইল স্ট্রাকচার ভুল হয়

ব্যবহারকারীদের জমা দেওয়ার আগে ফাইলগুলি মেরামত করতে বলুন এবং একই ফাইলটি পুনরায় প্রেরণ করবেন না।

যদি আপনি যে ইন্টারফেসটি কল করেন তা পোস্ট হয় এবং সময় শেষ হতে পারে,

প্রথমে, ইন্টারফেসটি আইডেম্পোটেন্ট কী বা টাস্ক কোয়েরিগুলি সমর্থন করে কিনা তা নিশ্চিত করুন, তারপরে এটি পুনরায় প্রেরণ করবেন কিনা তা সিদ্ধান্ত নিন।

❓ প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)

1. সব ত্রুটি কি সরাসরি পুনর্বিবেচনা করা যায়?

না, তুমি পারবে না। অনুমতি ত্রুটি, অ্যাকাউন্ট অতিরিক্ত অর্থ প্রদান, দূষিত ফাইল এবং অস্থায়ী পরিষেবা ব্যস্ততা পৃথকভাবে পরিচালনা করা উচিত; কেবলমাত্র অস্থায়ী ব্যর্থতাগুলি সীমাবদ্ধ এড়ানোর জন্য উপযুক্ত।

2. পোস্ট টাইমআউট শেষ হওয়ার পরে আমি কি পুনরায় পোস্ট করতে পারি?

সরাসরি পুনরায় পোস্ট করার পরামর্শ দেওয়া হয় না। ক্লায়েন্টের প্রতিক্রিয়ার অভাবের অর্থ এই নয় যে সার্ভার কাজগুলি তৈরি করেনি। আইডেম্পোটেন্সি কী বা টাস্ক কোয়েরি মেকানিজম ব্যতীত, ডুপ্লিকেট কাজগুলি ঘটতে পারে।

3. কীভাবে পুনরায় চেষ্টা এবং অপেক্ষার সময় নির্ধারণ করা উচিত?

স্থির এক, দুই এবং চার সেকেন্ড কেবল সংশ্লেষণ প্রদর্শনের জন্য। উত্পাদন পরিবেশটি Retry-After, এলোমেলো জিটার, সামগ্রিক কাটঅফ সময় এবং কনকারেন্সি সীমাবদ্ধতার সংমিশ্রণ দ্বারা নির্ধারণ করা উচিত।

4. প্রচেষ্টার সংখ্যা কি ব্যবহারকারীর অনুরোধের পরিসংখ্যানকে প্রভাবিত করবে?

না, কেবল একটি ব্যবহারকারীর অপারেশন একটি যৌক্তিক কাজ হিসাবে রেকর্ড করুন এবং প্রতিটি পুনরায় চেষ্টা করুন সেই কাজের অধীনে একটি প্রচেষ্টা হিসাবে।

📝 সারসংক্ষেপ

পুনরায় চেষ্টা করার মূল চাবিকাঠি একাধিকবার চেষ্টা করা নয়, তবে কী করতে হবে তা সিদ্ধান্ত নেওয়ার আগে প্রথমে ব্যর্থতার ধরণ সনাক্ত করা। পুনরুদ্ধারযোগ্য ত্রুটিগুলি আবদ্ধ এবং পুনরুদ্ধার করা হয় এবং মানব হ্যান্ডলিং প্রয়োজন এমন সমস্যাগুলি তাত্ক্ষণিকভাবে ব্যবহারকারীদের কাছে ফেরত দেওয়া হয়।

এখনই অভিজ্ঞতা: অনুবাদ শুরু করতে আপনার নথি আপলোড করুন, মূল ফর্ম্যাটিং সংরক্ষণ করুন

আপডেট করা হয়েছে 2026-11-14