Deno and Deno Deploy™
আমি আজ সহ লাগাতার ৩ দিন ডিনো এবং ডিনো ডিপ্লয় নিয়ে গবেষণা করছি। বেশ মজাই লাগছে। ডিনো প্রথমবার ব্যবহার করেছিলাম মাসখানেক আগে, জুনের শুরুতে সম্ভবত।
ডিনো ডিপ্লয় এ KV & CRON আছে, যদিও এখন তা বেটা পর্যায়ে। আমি KV কেভি প্রথম দেখেছিলাম ক্লাউডফ্লেয়ারে। সেখানে KV+R2+PAGES এর সমন্বয়ে বেশ জটিল জিনিস বেশ সহজেই বানিয়ে ফেলা যায়।
১ম দিন- ১৪ জুলাই বেশি সুস্থ ছিলাম না। কিন্তু ১৫ তারিখে কাজ বেশ এগিয়ে গিয়েছিলো (একইদিনে svelte এর প্রজেক্টও github action দিয়ে deno deploy তে ডিপ্লয় করে বেশ ভাল পার্ফরম্যান্স পেয়ছিলাম, সেইসাথে CI/CD এর বাস্তব অভিজ্ঞতাও বৃদ্ধি পেয়েছিল), এবং আজ ১৬ তারিখ।
ক্লাউডফ্লেয়ারে একদিন KV দেখার পর মনে হলো- আরো কোথাও KV দেখেছিলাম। কোথায়?
খুব দ্রুতই মনে এসেছে, Deno Deploy™ তে!
তারপর শুরু করলাম গবেষণা। গবেষণার বিষয়-
১। সেখানে ডিসকর্ড বট ২৪/৭ চালু রাখা যায় কিনা
২। যদি না যায়, তাহলে কোনো বিশেষ উপায়ে/হ্যাক ব্যবহার করে হলেও করা যাবে কিনা।
আমার এখন পর্যন্ত উপলব্ধি হচ্ছে-
১। ডিনো ডিপ্লয় ব্যবহার করে একবার প্রজেক্ট/কোড পাব্লিশ/ডিপ্লয় করলে সেটা একবার চালু হলেও সামান্য পরিবর্তন করে আবার ডিপ্লয় করলে দুইবার কোড রান হয়। Deno.cron প্রতিমিনিটে দিয়ে দেখেছি- সেটা দুইবার করে হয় না, তবে node-cron ব্যবহার করলে সেটা একাধিকবার একই কাজ করতে থাকে। সর্বশেষ হিসাব অনুযায়ী ৬ মিনিট পর দুইবার না করে একবার করে। (৩ বার ডিপ্লয় করলে হয়ত একবার কমবে, আরো পরে ২য়টাও কমবে)
তবে একবার ১ এ নেমে আসলে আবার ডুপ্লিকেট হবে না, এমন না। আবার হবে, যে কোনো সময়। এবং তা অটোমেটিক বন্ধও হবে।
২। new Map() এর ভিতরে ইউজারের ডিসকর্ড ভয়েস চ্যানেলে জয়েন টাইম সেভ রাখতাম, কিন্তু ডিনো ক্রোন মাঝে মাঝে প্রতি মিনিটের কাজ মিস করে, খুব সম্ভবত তখনই ডাটা হারিয়ে যায়। তাই KV ব্যবহার করি, ডাটা হারানো বন্ধ হয়।