সংজ্ঞা
কার্সর পেজিনেশন
সংখ্যাগত অফসেটের পরিবর্তে অপরদর্শী টোকেন ব্যবহার করে পেজভিত্তিক ফলাফল নেভিগেট করার একটি কৌশল।
কার্সর পেজিনেশন
কার্সর পেজিনেশন হচ্ছে এমন একটি পেজিনেশন কৌশল যেখানে পেজ নম্বর বা offset-ভিত্তিক সংখ্যা ব্যবহারের বদলে অপরদর্শী একটি টোকেন (একটি "কার্সর") ব্যবহার করে ফলাফল সেটে একটি অবস্থান চিহ্নিত করা হয়। ক্লায়েন্ট পরের পেজ অনুরোধ করার জন্য সার্ভারের কাছে কার্সরটি ফেরত পাঠায় (উদাহরণস্বরূপ after_cursor প্যারামিটার দিয়ে)। সার্ভার প্রতিটি প্রতিক্রিয়ায় পরবর্তী পেজের জন্য একটি নতুন কার্সর দেয়।
প্রাসঙ্গিকভাবে
Polymarket-এর Gamma /markets endpoint কার্সর-ভিত্তিক পেজিনেশন দাবি করে: কলগুলোকে offset প্যারামিটারের পরিবর্তে পূর্ববর্তী অনুরোধ থেকে পাওয়া after_cursor মান ব্যবহার করতে হবে। এই keyset-স্টাইল পদ্ধতি বড় বা ঘনবার আপডেট হওয়া ফলাফল সেটে পারফরম্যান্স ও ধারাবাহিকতা উন্নত করে, কারণ সার্ভার প্রতিটি পেজের জন্য শুরু থেকেই স্ক্যান না করে স্থিতিশীল অবস্থান থেকেই পুনরায় শুরু করতে পারে। Gamma প্রতিটি পেজিনেটেড প্রতিক্রিয়ায় একটি next_cursor ফেরত দেয়; পরবর্তী পেজ আনার জন্য সেই মানটি after_cursor হিসেবে সরবরাহ করুন।
প্রয়োগগত নোট
- অপরদর্শী টোকেন: কার্সরকে একটি অনিরীক্ষিত স্ট্রিং হিসেবে বিবেচনা করুন। ক্লায়েন্ট-পাশে তা পার্স বা গঠন করার চেষ্টা করবেন না।
- সংখ্যাগত অফসেট নেই: Gamma API সংখ্যাগত offset গ্রহণ করে না; /markets পেজিনেশনের জন্য after_cursor ব্যবহার করুন। এন্ডপয়েন্টটি after_cursor-এর পাশাপাশি limit (max 1000) সমর্থন করে।
- অর্ডারিং গুরুত্বপূর্ণ: কার্সর পেজিনেশন কুয়েরির অর্ডারিং-র সাথে জড়িত। আপনি যদি অর্ডার ফিল্ড পরিবর্তন করেন তবে আগের কার্সর ব্যবহার করে পুনরায় চালিয়ে যাওয়া সম্ভব নাও হতে পারে।
- দৃঢ় ক্লায়েন্ট: যদি আপনি বড় স্ক্যান পুনরায় চালাতে চান তবে কার্সর সংরক্ষণ করুন, এবং এমন ঘটনা হ্যান্ডেল করুন যেখানে পূর্বে ইস্যুকৃত কার্সর স্টেল হয়ে যায় বা কোনো ফলাফল দেয় না।
দেখুন
- /glossary/gamma-api