সময়সূচী ফাংশন (1ম প্রজন্ম)

আপনি যদি নির্দিষ্ট সময়ে ফাংশন চালানোর সময়সূচী নির্ধারণ করতে চান, তাহলে onSchedule হ্যান্ডলার ব্যবহার করে একটি Pub/Sub টপিক তৈরি করুন যা Cloud Scheduler ব্যবহার করে সেই টপিকে ইভেন্ট ট্রিগার করে।

শুরু করার আগে

যদিও নির্ধারিত ফাংশনগুলোর জন্য বিল করা হয়, আপনি আশা করতে পারেন যে সামগ্রিক খরচ সহনীয় থাকবে, কারণ প্রতিটি Cloud Scheduler জবের জন্য প্রতি মাসে $০.১০ (মার্কিন ডলার) খরচ হয় এবং প্রতিটি গুগল অ্যাকাউন্টে কোনো চার্জ ছাড়াই তিনটি জব করার সুযোগ রয়েছে। আপনার প্রত্যাশিত ব্যবহারের উপর ভিত্তি করে খরচের একটি আনুমানিক হিসাব তৈরি করতে ব্লেজ প্রাইসিং ক্যালকুলেটর ব্যবহার করুন।

আপনার প্রোজেক্টের জন্য Pub/Sub এবং Cloud Scheduler এপিআই অবশ্যই সক্রিয় করতে হবে। বেশিরভাগ ফায়ারবেস প্রোজেক্টের জন্য এগুলি আগে থেকেই সক্রিয় থাকার কথা; আপনি গুগল ক্লাউড কনসোলে এটি যাচাই করে দেখতে পারেন।

একটি নির্ধারিত ফাংশন লিখুন

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;
});

Cloud Scheduler ইউনিক্স ক্রনট্যাব এবং App Engine উভয় সিনট্যাক্সই সমর্থন করে। উদাহরণস্বরূপ, কোনো নির্ধারিত ফাংশন চালানোর জন্য একটি নির্দিষ্ট টাইমজোন নির্বাচন করতে ক্রনট্যাব ব্যবহার করতে, এইরকম কিছু করুন:

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 রেফারেন্স দেখুন।

একটি নির্ধারিত ফাংশন স্থাপন করুন

যখন আপনি একটি নির্ধারিত ফাংশন স্থাপন করেন, তখন সংশ্লিষ্ট শিডিউলার জব এবং পাব/সাব টপিক স্বয়ংক্রিয়ভাবে তৈরি হয়ে যায়। Firebase CLI টপিকের নামটি প্রদর্শন করে, এবং আপনি Google Cloud কনসোলে জব ও টপিকটি দেখতে পারেন। টপিকটির নামকরণ নিম্নলিখিত নিয়ম অনুসারে করা হয়:

firebase-scheduled- function_name - region

উদাহরণস্বরূপ:

firebase-scheduled-scheduledFunctionCrontab-us-east1.