আপনার প্রকাশিত অ্যাপ এখন আবার প্রকাশের সময়ও চালু থাকে
Mythex-এ আপনি একটি অ্যাপ আবার প্রকাশ করলে আপনার লাইভ সাইট এখন নতুন বিল্ড প্রস্তুত না হওয়া পর্যন্ত আগের সংস্করণটিই দেখাতে থাকে, তারপর নতুনটিতে সরে যায়। এই পরিবর্তনের আগে আবার প্রকাশের সময় পুরো বিল্ডের জন্য সাইট বন্ধ থাকত — দর্শকেরা “This published app is offline or the link was not found” দেখতেন, প্রায় এক মিনিট, তারপর রিলোড করলে পেজটি আবার কাজ করত। আমরা আরও দুটি উপায়ও ঠিক করেছি, যেখানে একটি লাইভ অ্যাপ ভুলভাবে অফলাইন দেখাত।
1. আবার প্রকাশে আপনার সাইট আর বন্ধ হয় না
পর্দার আড়ালে, প্রতিটি প্রকাশিত অ্যাপের একটি রেকর্ড থাকে, যেখানে লেখা থাকে কোন বিল্ডটি পরিবেশন করতে হবে। আবার প্রকাশ সেই একই রেকর্ড ব্যবহার করত এবং বিল্ড চলাকালীন সেটিকে “building” হিসেবে চিহ্নিত রাখত — আর আমাদের এজের যে অংশটি দর্শকদের রুট করে, সেটি শুধু “live” চিহ্নিত রেকর্ড পরিবেশন করত। ফলে প্রতিটি আবার প্রকাশে বিল্ড শেষ না হওয়া পর্যন্ত সাইট উধাও হয়ে যেত। একটি ছোট টেস্ট অ্যাপে আমরা এটি পুনরুৎপাদন করেছি: প্রতি আবার প্রকাশে প্রায় ৫০ সেকেন্ড অফলাইন।
এখন কোনো লাইভ অ্যাপের আবার প্রকাশ শুরু হলে, রেকর্ড মনে রাখে যে একটি আগের বিল্ড আছে এবং সেটির দিকেই নির্দেশ করে থাকে। নতুন বিল্ড তৈরি হওয়ার সময় এজ আগের বিল্ডটি পরিবেশন করে, আর নতুন বিল্ড সফল হলেই পয়েন্টার নতুনটিতে সরে যায়। নতুন বিল্ড ব্যর্থ হলে আপনার দর্শকেরা কিছুই টের পান না — পুরোনো সংস্করণটি চালু থাকে।
প্রথম প্রকাশ, বা পজ/আনপাবলিশ করা অ্যাপের আবার প্রকাশ, এখনও বিল্ড শেষ হলেই লাইভ হয় — কারণ তখন দেখানোর মতো কোনো আগের সংস্করণ থাকে না।
2. সামান্য ঝামেলায় সাইট “not found” দেখায় না
আপনার প্রকাশিত অ্যাপের সামনে থাকা সার্ভিসটি আমাদের API-কে জিজ্ঞেস করে প্রতিটি সাইট কোথায় আছে। আগে এটি যেকোনো সফল না-হওয়া উত্তরকে — একটি ক্ষণিকের সার্ভার ত্রুটি, বা হঠাৎ বিচ্ছিন্ন সংযোগ — “এই সাইট নেই” ধরে নিত, এবং অফলাইন পেজ দেখাত। এক সেকেন্ড পরে রিলোড করলে তা কাজ করত, যা বিভ্রান্তিকর ছিল।
এখন শুধু একটি সত্যিকারের “not found” উত্তরই not found হিসেবে গণ্য হয়:
- যেকোনো অন্য ব্যর্থতা একবার আবার চেষ্টা করা হয়।
- তবু ব্যর্থ হলে, এজ সর্বোচ্চ এক ঘণ্টা পর্যন্ত শেষ জানা ভালো উত্তর থেকে সাইটটি পরিবেশন করে।
- শুধু কখনোই কোনো উত্তর না পাওয়া গিয়ে থাকলে “temporarily unavailable” পেজ দেখায় — কখনো “not found” নয়।
কাস্টম ডোমেইনও আমাদের প্রোডাকশন ও স্টেজিং সিস্টেমে একই সময়ে জিজ্ঞেস করে, তাই একটি ধীর স্টেজিং সার্ভার কখনো প্রোডাকশন ডোমেইনকে আটকে রাখতে পারে না।
3. পজ করা অ্যাপ বলে যে এটি পজ করা
প্রকাশিত অ্যাপগুলো আপনার ক্রেডিট ব্যালেন্সে চলে। ব্যালেন্স ফুরোলে আপনি টপ-আপ না করা পর্যন্ত অ্যাপটি পজ থাকে — আর টপ-আপ করলে নিজে থেকেই ফিরে আসে। কিন্তু একটি পজ করা অ্যাপ আগে হুবহু একটি ডিলিট করা অ্যাপের মতো দেখাত।
এখন পজ করা অ্যাপের দর্শক দেখেন “This app is paused”, সঙ্গে মালিকের জন্য ফেরার উপায়। রেসপন্স কখনো ক্যাশ হয় না, তাই অ্যাপটি আবার চালু হওয়ামাত্র পৌঁছানো যায়। অন্য কোনো কারণে অ্যাপটি অনুপলব্ধ থাকলে দর্শক দেখেন “This app isn't available” — কেন, তা না বলেই।
কেন এটি গুরুত্বপূর্ণ
একটি প্রকাশিত অ্যাপ এমন কিছু যা আপনি শেয়ার করেছেন: বায়ো লিংকে, ভিজিটিং কার্ডে, প্রথম গ্রাহকদের কাছে। এটি একটি সত্যিকারের ওয়েবসাইটের মতো আচরণ করা উচিত — আপনি উন্নত করার সময়ও চালু থাকা, একটি ক্ষণিক ঝামেলায় টিকে থাকা, এবং পজ থাকলে সৎভাবে তা জানানো।
প্রকাশ নিয়ে আরও তথ্য ডকসে আছে: কীভাবে প্রকাশ করবেন ও হোস্টিং সীমা। আর একই ধারণার অবকাঠামোগত দিক: কীভাবে আমাদের নিজের ডিপ্লয়গুলো শূন্য 502-তে নামিয়েছি।