আমাদের বেশ কয়েকটি উচ্চ ব্যবহারের প্রোডাকশন ওয়েব অ্যাপ্লিকেশন রয়েছে যা ব্যাকএন্ডে এফজিডিবিতে চালিত হয়। এফজিডিবিগুলি রাতের বেলা তাজা তথ্য দিয়ে মুছে ফেলা হয় এবং পুনর্নির্মাণ হয়। আমাদের কাছে একটি .NET কনসোল অ্যাপ্লিকেশন রয়েছে যা আমি লিখেছিলাম যে এটিজিএসওএম এর উপর ভিত্তি করে আপডেট আপডেট প্রক্রিয়া চলাকালীন পরিষেবাগুলি বন্ধ করে দেয়। এজিএসএসওএম দেখুন, এটি বেশ চালাক। এখানে উপস্থিত কিছু সি # আমি বর্তমান এফজিডিবিটিকে ফুরিয়ে যাওয়ার আগে একটি ব্যাকআপ তৈরি করতে ব্যবহার করি:
// Only archive it FGDB already exists, if this is first run, then nothing to archive
if (Directory.Exists(String.Concat(c.fgdbDir, @"\", kvp.Key[0], ".gdb")))
{
c.msg = String.Concat(Environment.NewLine, "Archiving data for ", kvp.Key[0], " - ",
DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"));
Messaging.Log(c.msg, c.lw);
// Create the FGDB folder in archive dir if not already there
if (!Directory.Exists(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb")))
{
Directory.CreateDirectory(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb"));
// Now copy from clips to archive
foreach (FileInfo fi in source.GetFiles())
{
fi.CopyTo(System.IO.Path.Combine(target.ToString(), fi.Name), true);
}
}
}
এটি এফজিডিবি অনুলিপি করার জন্য কেবল ডিরেক্টরী.ক্রিয়েট ডিরেক্টরী এবং ফাইলআইএনফো.কপিটো ব্যবহার করে - উইন্ডোজ এফজিডিবিটিকে অন্য একটি ফোল্ডার হিসাবে দেখায়। চ্যাম্পের মতো কাজ করে। তারপরে, আপডেট প্রক্রিয়াটি সম্পূর্ণ হওয়ার পরে, আমরা আবার এজিএসএসএম-ভিত্তিক অ্যাপ্লিকেশন ব্যবহার করে পরিষেবাগুলি শুরু করি।