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

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

শুরু করার আগে

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

আপনার প্রোজেক্টের জন্য 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 রেফারেন্স দেখুন।

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

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

ফায়ারবেস-নির্ধারিত- function_name - region

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

ফায়ারবেস-শিডিউলড-শিডিউলডফাংশনক্রন্ট্যাব-ইউএস-ইস্ট১.