এটি কিছুটা জটিল হতে পারে তবে মঙ্গোডিবি শেলটি মূলত একটি জাভাস্ক্রিপ্ট দোভাষী আমাদের ফিল্টারিংয়ের ক্ষেত্রে শালীন বিকল্প দেয়। এটি সম্পাদন করার জন্য আমি যে ফাংশনটি ব্যবহার করি তা এখানে:
// kills long running ops in MongoDB (taking seconds as an arg to define "long")
// attempts to be a bit safer than killing all by excluding replication related operations
// and only targeting queries as opposed to commands etc.
killLongRunningOps = function(maxSecsRunning) {
currOp = db.currentOp();
for (oper in currOp.inprog) {
op = currOp.inprog[oper-0];
if (op.secs_running > maxSecsRunning && op.op == "query" && !op.ns.startsWith("local")) {
print("Killing opId: " + op.opid
+ " running over for secs: "
+ op.secs_running);
db.killOp(op.opid);
}
}
};
এটি কেবল দ্বার maxSecsRunning
প্রান্তের উপরে থাকা প্রশ্নগুলিকে মেরে ফেলবে এবং local
ডাটাবেসগুলির বিরুদ্ধে চলমান কোনও কিছুই স্পর্শ করবে না , যা সেখানেই oplog
জীবন (এবং তাই এটি দীর্ঘস্থায়ী প্রতিরূপের সাথে জড়িত এমন ডাটাবেস। অভ্যন্তরীণ if
শর্তসাপেক্ষে মানদণ্ড যুক্ত করা তুলনামূলকভাবে সহজ নির্দিষ্ট প্রয়োজনের উপর ভিত্তি করে প্রয়োজন হিসাবে আরও সুনির্দিষ্টভাবে টার্গেট পরিচালনা করতে।
কোডটি গিস্ট হিসাবেও উপলব্ধ (যেখানে আমি এটি চলমান ভিত্তিতে আপডেট করার কথা মনে করব)।