নির্দিষ্ট সময়ে ফাংশন শিডিউল করতে চাইলে, সেই টপিকের
ইভেন্ট ট্রিগার করতে
Cloud Scheduler ব্যবহার করে এমন
Pub/Sub টপিক তৈরি করতে onSchedule হ্যান্ডলার
ব্যবহার করুন।
শুরু করার আগে
শিডিউল করা ফাংশনের জন্য বিল করা হলেও, আপনি সামগ্রিক খরচ ম্যানেজ করার মতো হবে বলে আশা করতে পারেন, কারণ প্রতিটি Cloud Scheduler জবের জন্য প্রতি মাসে $০.১০ (মার্কিন ডলার) খরচ হয় এবং Google অ্যাকাউন্ট পিছু তিনটি জব ফ্রিতে করার অনুমতি আছে। আপনার সম্ভাব্য ব্যবহারের উপর ভিত্তি করে খরচ সম্পর্কিত আনুমানিক হিসেব পেতে Blaze প্রাইসিং ক্যালকুলেটর ব্যবহার করুন।
আপনার প্রোজেক্টের জন্য Pub/Sub ও Cloud Scheduler API চালু থাকতে হবে। এগুলি বেশিরভাগ Firebase প্রোজেক্টের জন্য আগেই চালু করা উচিত; আপনি Google Cloud কনসোলে গিয়ে যাচাই করতে পারেন।
শিডিউল করা ফাংশন লেখা
Cloud Functions for Firebase-এ, শিডিউল করার লজিক আপনার ফাংশন কোডে থাকে,
যার জন্য কোনও বিশেষ ডেপ্লয়মেন্ট-টাইম সংক্রান্ত প্রয়োজনীয়তা নেই। শিডিউল করা ফাংশন তৈরি করতে,
functions.pubsub.schedule('your schedule').onRun((context)) ব্যবহার করুন।
যেমন, App Engine cron.yaml
সিনট্যাক্স ব্যবহার করে প্রতি
পাঁচ মিনিট অন্তর কোনও ফাংশন রান করাতে, এই ধরনের কিছু করুন:
exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
console.log('This will be run every 5 minutes!');
return null;
});
Unix Crontab এবং App Engine সিনট্যাক্স দুটিই Cloud Scheduler-এ কাজ করে। যেমন, শিডিউল করা ফাংশন চালানোর জন্য নির্দিষ্ট টাইমজোন বেছে নিতে Crontab ব্যবহার করতে, এই ধরনের কিছু করুন:
exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
.timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) => {
console.log('This will be run every day at 11:05 AM Eastern!');
return null;
});
timeZone-এর ভ্যালু অবশ্যই
tz ডেটাবেস থেকে নেওয়া কোনও টাইম জোনের নাম হতে হবে। কাজ করে এমন প্রপার্টি সম্পর্কে আরও জানতে
Cloud Scheduler রেফারেন্স
দেখুন।
শিডিউল করা ফাংশন ডেপ্লয় করা
আপনি কোনও শিডিউল করা ফাংশন ডেপ্লয় করলে, সংশ্লিষ্ট শিডিউলার জব ও pub/sub টপিক অটোমেটিক তৈরি হয়ে যায়। Firebase CLI, বিষয়ের নাম ইকো করে, এবং আপনি Google Cloud কনসোলে জব ও বিষয় দেখতে পাবেন। নিম্নলিখিত কনভেনশন অনুযায়ী বিষয়টির নাম দেওয়া হয়:
firebase-scheduled-function_name-region
যেমন:
firebase-scheduled-scheduledFunctionCrontab-us-east1.