قاعدة البيانات الاحتياطية ونسخة التقارير (لفريق Kaam360)
هذا الدليل لفريق Kaam360 (لوحة المنصة). العملاء لا يحتاجونه.
ما هي قاعدة البيانات الاحتياطية
يحتفظ الموقع الحي ببياناته في قاعدة بيانات PostgreSQL واحدة على الخادم. الاحتياطية (standby) هي PostgreSQL ثانية على الخادم نفسه تستقبل كل تغيير لحظة حدوثه، فهي متأخرة بأجزاء من الثانية فقط. إذا تعطلت قاعدة البيانات الحية، يمكن تحويل الموقع إلى الاحتياطية في نحو دقيقتين بدلاً من استعادة نسخة الليلة الماضية. وهي لا تغني عن النسخ الاحتياطي الليلي الخارجي الذي يحمي من فقدان الخادم بأكمله: كلاهما مطلوب.
كل شيء يتم بأزرار في GitHub (Actions ثم PostgreSQL standby ثم Run workflow): اختر الوضع، اكتب الكلمة نفسها في خانة التأكيد، واضغط الزر الأخضر. الإجراء المكتوب موجود في الملف deploy/STANDBY.txt.
معرفة ما إذا كانت سليمة
- افتح لوحة المنصة وانظر إلى Overview. تقول بطاقة Database standby إما Streaming (جيد) أو Behind (متأخرة) أو Not connected (غير متصلة)، مع مقدار التأخر.
- المعلومات نفسها موجودة في عنوان /health للموقع، في الجزء "standby".
- في GitHub، يطبع الوضع status صفحة كاملة: خدمة Windows، وحالة البث، والبايتات والثواني المتأخرة، وحجم النسخة. ولا يغير شيئاً.
- عندما تكون الاحتياطية غائبة أو متأخرة لعشر دقائق، يتلقى الفريق بريداً واحداً (إلى عنوان الدعم في Settings & team، وإلا فإلى كل مديري المنصة)، يتكرر كل ست ساعات على الأكثر. ويحصل سجل Activity في المنصة على سطر عندما يحدث خلل وعندما يعود كل شيء سليماً.
الإعداد أو الإصلاح
شغّل الوضع setup. لا يتوقف الموقع الحي. ينشئ مستخدمي قاعدة البيانات (كلمات المرور تبقى على الخادم فقط)، ويأخذ نسخة كاملة، ويشغّل النسخة كاحتياطية، ويسجّل خدمة Windows، ويحجب منفذها من الخارج، ويخبر الموقع. الاحتياطية السليمة تُترك كما هي، لذا فإعادة التشغيل آمنة دائماً. إذا فشلت خطوة، يقول السكربت أيها ولماذا، ولا يتغير شيء في الموقع الحي.
الانتقال إلى الاحتياطية
شغّل الوضع failover عندما تكون قاعدة البيانات الحية معطلة والاحتياطية سليمة. يعرض الموقع صفحة "جارٍ التحديث" لنحو دقيقتين. تصبح الاحتياطية قاعدة البيانات الحية، ويوجَّه الموقع إليها، وتُحفظ الإعدادات السابقة باسم appsettings.local.json.before-failover. ثم يطبع السكربت ما يجب فعله بعد ذلك: استخدم الموقع كالمعتاد، واحتفظ بمجلد قاعدة البيانات القديمة الآن، وشغّل setup عندما يهدأ الخادم لإنشاء احتياطية جديدة. النسخة المرقّاة لا تعود احتياطية أبداً؛ تُنشأ واحدة جديدة من نسخة حديثة.
التقارير الثقيلة تقرأ من النسخة
عندما تبث الاحتياطية وتكون متأخرة بأقل من بضع دقائق، يقرأ منشئ التقارير ورسائل التقارير المجدولة وتنزيلات CSV وExcel والمحفظة وتقارير المشاريع والتنزيل الكامل للبيانات منها بدلاً من قاعدة البيانات الحية، حتى لا يبطئ تقرير كبير من يعملون. يعرض هذا التقرير البيانات حتى متبوعة بوقت أحدث تغيير في النسخة. وعندما تكون النسخة مفقودة أو لا تستجيب أو متأخرة بأكثر من بضع دقائق، تستخدم التقارير قاعدة البيانات الحية دون أن يفعل أحد شيئاً. لا يُكتب في النسخة أبداً، وكل تقرير يرى بيانات منظمته فقط، تماماً كما في قاعدة البيانات الحية. يقول عنوان /health ما إذا كانت التقارير تُقدَّم من النسخة ("reports").
الإزالة
شغّل الوضع remove. يوقف الاحتياطية ويحذفها ويزيلها من إعدادات الموقع. لا تُمَس قاعدة البيانات الحية. يمكن تشغيل setup مرة أخرى في أي وقت.
تابع القراءة
- أنشئ لوحات معلوماتك الخاصة في Power BIاربط Power BI Desktop وخدمة Power BI ببيانات Kaam360 الخاصة بك بمفتاح موجز للقراءة فقط، ثم حدّثها وفق جدول.
- التطبيقات المتصلة: اسمح لتطبيقات أخرى باستخدام حسابك في Kaam360اسمح لتطبيق هاتف أو تقويم أو أداة تقارير بالعمل مع حسابك، واعرف ما يمكنه فعله، وافصله في أي وقت.
- ربط أدوات الذكاء الاصطناعي بـ Kaam360 (MCP)دع Claude وChatGPT وCursor وأدوات الذكاء الاصطناعي الأخرى تقرأ عملك في Kaam360 وتحدّثه، بأمان وباسمك.
ما زلت عالقًا؟ استخدم المساعدة والدعم داخل التطبيق وسنساعدك.