ভূমিকা
ক্রলারের শিডিউলার বন্ধ করার মানে হলো ক্রলারকে স্বয়ংক্রিয়ভাবে চালু হওয়া থেকে রोकা। এটি ক্রলারকে বন্ধ করে না (যদি রানিং থাকে), শুধু ভবিষ্যতের শিডিউলড রান বন্ধ করে।
সমস্যা বিবরণ
পাইথনে boto3 লাইব্রেরি ব্যবহার করে একটি ক্রলারের শিডিউলার বন্ধ করা।
অ্যালগরিদম / ধাপসমূহ
- boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
- ফাংশনটি crawler_name প্যারামিটার নেবে।
- AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
glue_client.stop_crawler_schedule(CrawlerName=crawler_name)কল করুন।- রেসপন্স মেটাডেটা রিটার্ন করবে এবং শিডিউল স্টেট
NOT_SCHEDULEDহবে (মূল কোডেOT_SCHEDULEDলিখে আছে, সঠিকটিNOT_SCHEDULED)। - এক্সেপশন হ্যান্ডল করুন।
উদাহরণ কোড
import boto3
from botocore.exceptions import ClientError
def stop_scheduler_of_a_crawler(crawler_name):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.stop_crawler_schedule(CrawlerName=crawler_name)
return response
except ClientError as e:
raise Exception("boto3 client error in stop_scheduler_of_a_crawler: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in stop_scheduler_of_a_crawler: " + e.__str__())
print(stop_scheduler_of_a_crawler("Data Dimension"))
আউটপুট
{'ResponseMetadata': {'RequestId': '73e50130-*****************8e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Mar 2021 07:26:55 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '73e50130-***************8e'}, 'RetryAttempts': 0}}
ব্যাখ্যা
stop_crawler_scheduleকল করলে ক্রলারের শিডিউল অক্ষম হয়ে যায়।যদি ক্রলার বর্তমানে রানিং থাকে, তবে এটি চলতে থাকবে, শুধু পরবর্তী শিডিউলড রানগুলো বন্ধ থাকবে।
শিডিউলার পুনরায় সক্ষম করতে
start_crawler_scheduleব্যবহার করুন।