আমি "সেরা অনুশীলন" সম্পর্কে জানি না। আমি সবচেয়ে সাধারণ ভুল জানি।
প্রথম ত্রুটি: ডস নিজেই
আপনি দীর্ঘকালীন কাজটি প্রক্রিয়া করতে ওয়েবহ্যান্ডলারটি ব্যবহার করেন। এটি আপনার চলমান হিটগুলির শতাংশের উপর নির্ভর করে খারাপ বা চরম খারাপ হতে পারে যেগুলি দীর্ঘকালীন চাকরিতে পরিণত হয়, তারা কত দিন চালায় এবং কতটা টেকসই ট্র্যাফিক আপনি পান।
আপনি এটি নিশ্চিত করতে চান যে দীর্ঘ সময় ধরে কাজটি শেষ হতে সময়কালের মধ্যে আপনি 1 টিরও বেশি দীর্ঘ চলমান কাজ পাচ্ছেন না। আপনি যদি নিজেই ডস করেন। শতকরা হার এবং সময় ধারাবাহিকভাবে ধরে রেখে আপনি যত বেশি ট্র্যাফিক গ্রহণ করবেন এটি আরও খারাপ হবে। এটি ট্র্যাফিক বৃদ্ধির সীমাবদ্ধতা স্ব-চাপিয়ে দেয় এমন সমস্যাগুলির মধ্যে একটি।
দ্বিতীয় ত্রুটি: ওয়েবহ্যান্ডলার থেকে স্প্যানিং
একটি দীর্ঘ চলমান প্রক্রিয়া পরিচালনা করতে ওয়েব হ্যান্ডলারের কাছ থেকে কোনও প্রক্রিয়া তৈরি করা জটিল হতে পারে এবং ফলস্বরূপ ত্রুটি প্রবণও।
- আপনাকে সঠিকভাবে পিতামাতার কাছ থেকে পৃথক করতে হবে অন্যথায় ওয়েবহ্যান্ডলার সন্তানের সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে।
- আপনি যখন ইউনিক্সে কোনও শিশুকে কাঁটাচামচ করেন তখন পিতামাতার কাছ থেকে খোলা হ্যান্ডলগুলি উত্তরাধিকার সূত্রে পান। এগুলি ওভাররাইট করা না থাকলে এগুলি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে। এর মধ্যে ডেটাবেস সংযোগ, ফাইলহ্যান্ডলস, অন্যান্য ওপেন নেটওয়ার্ক সংযোগের মতো জিনিস রয়েছে। সন্তানের প্রক্রিয়া শেষ হলে এগুলি সব বন্ধ হয়ে যায় ।
বিকল্প
আমি সাধারণত at(1)
কাঁটা ছাড়াই ওয়েবহ্যান্ডলার থেকে পরিষ্কারভাবে বিচ্ছিন্ন করতে ব্যবহার করি ।
আপনি এর সাথে একটি পোলিং বাস্তবায়নও ব্যবহার করতে পারেন cron
।
আপনি অন্য একটি সার্ভার প্রক্রিয়াতে যোগাযোগ করতে পারেন যা প্রক্রিয়া পরিচালনা করে। যে যোগাযোগ সহ কাজ করা যেতে পারে sockets
, pipes
বিশ্রাম HTTP কল বা একটি সারিতে বার্তা রাউটিং মত, অথবা উচ্চ স্তরের বিমূর্ত।