كيفية منع تكرار المهام أو عمليات الاستيراد في Immich

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

امنع تكرار مهام Immich أو عمليات الاستيراد عبر فصل عرضين مختلفين أولًا: ظهور العمل الخلفي نفسه وكأنه يُشغَّل مجددًا، وتحول الصورة نفسها إلى أكثر من أصل. ثم حدّد العميل أو أداة الاستيراد أو فحص المكتبة أو تغيير المسار أو إعادة المحاولة التي أنشأت الحدث الثاني قبل حذف أي شيء.

يمنح التصميم الأكثر أمانًا لكل مجموعة أصول مسارَ استيعاب أساسيًا واحدًا. يمكن أن يكون الأرشيف السحابي التاريخي والمكتبة الخارجية والنسخ الاحتياطي النشط للهاتف مصادر صالحة جميعًا، لكن تداخل ملكية الملفات نفسها قد ينشئ سجلات مكررة أو حلقات إعادة رفع لا يمكن لأي قدر من التنظيف بعد الاستيراد إصلاحها بشكل موثوق.

حدّد ما إذا كنت تواجه عملًا متكررًا أم أصولًا مكررة

بالنسبة إلى المهام المتكررة، سجّل اسم قائمة الانتظار ومعرّف الأصل ووقت البدء وحالة الإكمال أو الفشل والحدث الذي سبق المهمة الجديدة. تختلف المهمة اللاحقة المشروعة التي أُنشئت بعد معالجة البيانات الوصفية عن إعادة محاولة المهمة الفاشلة نفسها إلى ما لا نهاية. لا تمسح جميع قوائم الانتظار قبل معرفة النمط الموجود.

بالنسبة إلى الأصول المكررة، قارن مكتبة المصدر والمسار الأصلي وسلوك المجموع الاختباري عند توفره وحالة النسخ الاحتياطي للجهاز ووقت الالتقاط وحجم الملف. قد توجد الصورة المرئية نفسها في ملفين مختلفين بعد تصدير سحابي أو تعديل البيانات الوصفية أو تحويل الترميز أو معالجة المكتبة الخارجية المعتمدة على المسار، كما يمكن أن توجد ملفات متطابقة بايتًا في مصدرَي مكتبة مختلفين داخل Immich.

إذا بدأت عمليات الرفع العادية بإنتاج أخطاء متكررة في المجموع الاختباري أو قيود التفرد، فاحفظ قاعدة البيانات وافحص حالة الترحيل والمخطط قبل اعتبار العرض مشكلة في مصدر الاستيراد. فالأصول المكررة عبر نوعين مشروعين من المصادر وفشل قيد قاعدة البيانات فرعان مختلفان، ولا ينبغي أن يخضعا لعملية التنظيف نفسها.

يُعد دليل ZimaSpace حول حالة النسخ الاحتياطي للهاتف والجدولة على الأجهزة المحمولة مفيدًا لأن للعميل المحمول تصوره الخاص لما لا يزال يحتاج إلى النسخ الاحتياطي. وقد يؤدي التنظيف من جانب الخادم الذي يتجاهل حالة العميل إلى إرسال الهاتف للملفات مجددًا في الجلسة التالية.

استخدم مسار استيعاب أساسيًا واحدًا لكل مجموعة صور موجودة

اختر طريقة إدخال الصور القديمة إلى Immich قبل تفعيل النسخ الاحتياطي المستمر للهاتف؛ على سبيل المثال، استورد الأرشيف التاريخي مرة واحدة وتحقق منه، ثم دع الهاتف يضيف اللقطات الجديدة فقط. إذا كانت الملفات التاريخية نفسها موصّلة كمكتبة خارجية ومرفوعة عبر مكتبة الرفع العادية، فلا تفترض أن إزالة التكرار العامة ستوفّق بين المصدرين.

يوثّق تقرير عن التكرار بين المصادر في Immich تعايش محتوى متطابق عندما يأتي من مكتبة خارجية ومكتبة الرفع. تعامل مع ذلك بوصفه حدًا لسلوك المشروع: ملكية المصدر مهمة، لذا تكون الوقاية أكثر موثوقية من توقع أن تستنتج أداة إزالة التكرار اللاحقة النسخة التي تفضّلها.

تجنب نقل الملفات التي رفعها Immich داخليًا إلى مكتبة خارجية من وراء ظهره بينما لا يزال الهاتف يعتبرها جزءًا من مجموعة النسخ الاحتياطي. إذا كان لا بد من تغيير بنية التخزين، فانقل الملفات عبر مسار موثّق مع نسخ احتياطية ومجموعة اختبار صغيرة، ثم تأكد من توافق تطبيق الهاتف والخادم قبل حذف النسخة القديمة.

تحكّم في عمليات إعادة المحاولة وحالة العميل قبل توسيع نطاق الاستيراد

استخدم بيانًا مرحليًا للاستيراد اليدوي الكبير: سجّل مسار المصدر وعدد الملفات وإجمالي البايتات ومجموعًا اختباريًا ثابتًا أو نتيجة أداة الاستيراد عند الإمكان. إذا انقطع الاستيراد، فاستأنفه باستخدام الأداة والوجهة نفسيهما بدل تشغيل أداة استيراد مستقلة ثانية على المصدر نفسه بينما تكون حالة المهمة الأولى غير مؤكدة.

أظهر تقرير حديث عن تكرار الرفع في Immich عميلًا محمولًا يعيد باستمرار محاولة رفع أصول موجودة أصلًا على الخادم، مع ظهور أخطاء قيود التفرد على الخادم. تعامل مع ذلك كدليل مرتبط بإصدار معيّن على أن حالة النسخ الاحتياطي للعميل قد تكون سبب الحلقة؛ ولا تعمّمه ليصبح سلوكًا شاملًا لتطبيق الهاتف. تظل تغييرات المسار خطرًا منفصلًا. حافظ على ثبات مسارات المكتبة الخارجية الظاهرة داخل الحاوية أثناء الاستيراد الكبير، وإذا كان نقل التخزين ضروريًا، فابدأ بمجموعة صغيرة. إذا ظهرت النسخة الثانية بعد تغيير المسار فقط، فاتبع فرع هوية المسار بدل إعادة ضبط حالة النسخ الاحتياطي للهاتف.

-15% OFF

اختبر الانقطاع وإعادة المحاولة وإضافة أصل جديد فعلًا

أنشئ مجموعة اختبار صغيرة وممثلة تتضمن صورًا عادية ومقاطع فيديو وصورة معدّلة وملفًا واحدًا على الأقل موجودًا مسبقًا في مسار الوجهة. استوردها مرة واحدة، وسجّل أعداد الأصول ومعرّفاتها، ثم قاطع محاولة ثانية خاضعة للتحكم أو أعد الفحص وفق سير العمل الذي تخطط لاستخدامه في بيئة الإنتاج.

ينجح الاختبار عندما لا يظهر أصل ثانٍ غير مفسر للمصدر المقصود نفسه، وتستقر عمليات إعادة المحاولة من دون نمو دائم في قائمة الانتظار، وتُستورد صورة جديدة فعلًا بنجاح. أعد أيضًا فتح العميل المحمول بعد الاختبار حتى لا تتعارض حالة النسخ الاحتياطي لديه بصمت مع الخادم.

إذا عادت التكرارات فقط بين مصدري الرفع والمكتبة الخارجية، فأعد تصميم حد الملكية بدل دمجهما مرارًا. وإذا تلقّى معرّف الأصل نفسه مهمة فاشلة بلا نهاية، فاعزل تلك المهمة والملف. صعّد المشكلة مع نوع المصدر والمسارات وقيم التجزئة عند الحاجة والإصدارات وحالة النسخ الاحتياطي للعميل وأصغر مجموعة يمكن إعادة إنتاج المشكلة بها.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.