تحميلات Rake: migrate_to_s3 يعمل إلى الأبد

عند تشغيل الأمر، تظهر النتيجة التالية:

نقل الملفات المرفوعة إلى S3 لـ 'default'...
جاري رفع الملفات إلى S3...
 - سرد الملفات المحلية
 =\u003e 23 ملفًا
 - سرد ملفات S3
. =\u003e 94 ملفًا
 - مزامنة الملفات مع S3
.......................
تحديث الروابط في قاعدة البيانات...
حذف الصور المحسّنة القديمة...
تحديد جميع المنشورات التي تحتوي على صناديق خفيفة لإعادة المعالجة...
تم تحديد 4 منشورات لإعادة المعالجة
لا تزال هناك حاجة لإعادة معالجة 4 منشورات، وسيتم إعادة معالجتها خلال المهمة الروتينية
تم!
نقل الملفات المرفوعة إلى S3 لـ 'default'...
جاري رفع الملفات إلى S3...
 - سرد الملفات المحلية
 =\u003e 23 ملفًا
 - سرد ملفات S3
. =\u003e 94 ملفًا
 - مزامنة الملفات مع S3
.......................
تحديث الروابط في قاعدة البيانات...
حذف الصور المحسّنة القديمة...
تحديد جميع المنشورات التي تحتوي على صناديق خفيفة لإعادة المعالجة...
تم تحديد 4 منشورات لإعادة المعالجة
لا تزال هناك حاجة لإعادة معالجة 4 منشورات، وسيتم إعادة معالجتها خلال المهمة الروتينية
تم!
نقل الملفات المرفوعة إلى S3 لـ 'default'...
جاري رفع الملفات إلى S3...
 - سرد الملفات المحلية
 =\u003e 23 ملفًا
 - سرد ملفات S3
. =\u003e 94 ملفًا
 - مزامنة الملفات مع S3
.......................
تحديث الروابط في قاعدة البيانات...
حذف الصور المحسّنة القديمة...
تحديد جميع المنشورات التي تحتوي على صناديق خفيفة لإعادة المعالجة...
تم تحديد 4 منشورات لإعادة المعالجة
لا تزال هناك حاجة لإعادة معالجة 4 منشورات، وسيتم إعادة معالجتها خلال المهمة الروتينية
تم!
نقل الملفات المرفوعة إلى S3 لـ 'default'...
جاري رفع الملفات إلى S3...
 - سرد الملفات المحلية
 =\u003e 23 ملفًا
 - سرد ملفات S3
. =\u003e 94 ملفًا
 - مزامنة الملفات مع S3
.......................

ويستمر الأمر في العمل دون توقف.

في النهاية، ضغطت Ctrl-C وقمت بتشغيل rake posts:rebake الذي عمل بشكل صحيح.

ثم، بدافع الفضول، جربت أمر rake uploads:migrate_to_s3 مرة أخرى، فظهرت نفس النتيجة تمامًا كما في الأعلى (نفس المخرجات، نفس الحلقة اللانهائية).

غير متأكد مما يحدث، أو ما إذا كانت هذه مشكلة أم لا، لكنني أردت الإبلاغ عنها. هل لديك أي أفكار؟

أستطيع تأكيد ذلك.

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

ثم جربت تشغيل الأمر rake uploads:migrate_to_s3 (مع تعيين جميع متغيرات البيئة في سطر الأوامر قبله) وحصلت على الحلقة اللانهائية الموصوفة في المنشور الأصلي.

ثم جربت إجراء استعادة من سطر الأوامر مع تضمين جميع إعدادات DISCOURSE_S3 في سطر الأوامر.

ظننت أنه ربما يمكنني بعد ذلك عمل نسخة احتياطية واستعادتها، لكن لا. فشلت الاستعادة من واجهة الويب. كما فشلت الاستعادة من سطر الأوامر دون تمرير جميع معلمات S3.

إذن، يبدو أنه إذا أردت استعادة نسخة احتياطية تحتوي على تحميلات في S3، فيجب عليك القيام بذلك من سطر الأوامر و تمرير إعدادات S3 في سطر الأوامر مع عملية الاستعادة.

عدم القدرة على استعادة نسخة احتياطية تحتوي على تحميلات S3 من واجهة المستخدم يبدو وكأنه خطأ.

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

DISCOURSE_S3_BUCKET=my-forum-storage DISCOURSE_S3_REGION=us-east-1 DISCOURSE_S3_ACCESS_KEY_ID=asdasdasdasdasdadsasdas DISCOURSE_S3_SECRET_ACCESS_KEY=aasdasdasdasdasdadsasdasasdasdasdasd discourse restore my-forums-2020-04-11-232922-v20200408121834.tar.gz

@pnoeric تم إصلاح الحلقة اللانهائية في FIX: Infinite loop in migrate_to_s3 rake task · discourse/discourse@baae0e7 · GitHub

@pfaffman يجب أن تكون المشكلة قد تم إصلاحها في FIX: Restore to S3 didn't work without env variables · discourse/discourse@c6b411f · GitHub

أوه، رائع! شكرًا جزيلاً. (في بعض الأحيان، لا يكفي رمز :heart: واحد.)

نعم، سأكرر ذلك أيضًا! شكرًا لك على سرعة استجابتك. نقدر ذلك كثيرًا. إي