فجأة، فشل البوت سترابينج

لم أقم بتغيير أي شيء بوعي، ولكن اليوم، عندما قمت للتو بسحب التغييرات (git pull) وحاولت تشغيل web_only.yml، ظهرت أخطاء بعد حوالي 90 ثانية من بدء عملية التشغيل. ألصقت فقط الأسطر الأخيرة من الخطأ، إذا كان ذلك يساعد في التشخيص:

/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2022-12-29T10:28:07.806753 #1]  INFO -- : gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/3.1.3 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.4.4
1 gem installed


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1066 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
9b7ac0c88b42b2aa1eccb9ef291527f4afd8b71861669af66ab79dee5ed82a45

لا أفهم لماذا لا يسمح بتشغيل نفس ملف yml، والذي كان ناجحًا في السابق. موقعي، على الرغم من ذلك، يعمل بشكل جيد.

لم أتمكن من العثور على أي “خطأ” في “Discourse-Doctor” أيضًا (يمكنني فقط البحث عن كلمة “error”، والتي لم تكن موجودة في الملف الناتج لـ discourse doctor). لست خبيرًا.

حاول إزالة المكون الإضافي للمواقع.

4 إعجابات

لقد نجحت في ذلك. أنا قادر على تهيئة حاوية الويب بالكامل الآن.!!! شكراً جزيلاً، للمرة الألف.


ولكن الآن اختفت كل “تعييناتي/مواقعي” السابقة للمشاركات والمستخدمين المختلفين.

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

إعجاب واحد (1)

الوقت. أنا متأكد من أنه سيتم إصلاحه في الأسبوع أو الأسبوعين القادمين.

4 إعجابات

بالأمس، بعد تعطيل المكون الإضافي ‘location’، تمكنت من إعادة بناء حاوية web_only الخاصة بي بنجاح. ولكن اليوم، حتى بعد تعطيل جميع المكونات الإضافية واحدًا تلو الآخر، لا يزال التمهيد يفشل.

Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #&lt;Process::Status: pid 900 exit 137&gt;
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 137
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
2c5f01d5ca6b216e744e11547b121e64aac0ad5e37d64d2ec5e2f279fe766c6a

على الرغم من أن موقعي يعمل بشكل طبيعي تمامًا.

ماذا يمكنني أن أفعل حيال هذا؟ يرجى إرشادي في بعض الاتجاهات.

هل لا يمكنك إعادة الإنشاء ولكن يمكنك بدء التطبيق؟

إعجاب واحد (1)

نعم، الحاوية بدأت بالفعل والموقع يعمل. ولكن عندما أقوم بإعادة بناء/تمهيد نفس الحاوية (web_only)، فإنها تعطي خطأ. على الرغم من أنه بالأمس، عند مواجهة نفس المشكلة، سمح لي تعطيل إضافة ‘location’ بإعادة تمهيدها بنجاح، ولكن اليوم، حتى بدون إجراء أي تغييرات، فشلت نفس العملية.

إعجاب واحد (1)

يبدو أن موقعك معطلاً حاليًا. تعديل: لا، لقد عاد. معظمه باللغة الهندية ولا يمكنني قراءته.

فقط للتأكيد. هل لديك أي إضافات ممكّنة في ملف app.yml الخاص بك حاليًا؟ هل تم التعليق عليها/حذفها جميعًا؟

رمز الخطأ 137 يعني نفاد الذاكرة.

5 إعجابات

هل يمكن أن يكون هذا مشكلة؟
هل يحتاج Discourse إلى أكثر من 4 جيجابايت الآن (حتى مع إيقاف تشغيل جميع الإضافات)؟
الموقعان الآخران لـ wpress اللذان يعملان على نفس القطرة/النسخة شبه خاملين.

هل يمكن أن يكون هناك حل سهل لهذا، بخلاف الانتقال إلى جهاز بذاكرة وصول عشوائي 8 جيجابايت؟

نعم، لديك 400 ميجابايت فقط من الذاكرة الحرة، وهذا لن يسمح لـ Discourse بإعادة البناء. حاول زيادتها إلى 4/5 جيجابايت، أو إيقاف المنتدى قبل إعادة البناء وحاول مرة أخرى.

بافتراض أن الـ 400 ميجابايت الحرة هي في وضع الخمول. إعادة البناء مكثفة جدًا على النظام (سأبحث عنها في Proxmox لموقعي، لكنه كان غير متصل بالإنترنت لبعض الوقت الآن)، وتتطلب ذاكرة أكبر من وضع الخمول.

عذرًا، لم أفهم المعنى جيدًا. هل تقصد أن أزيدها بمقدار 4 إلى 5 جيجابايت أخرى؟ أي، أجعلها من 4 جيجابايت إلى 8 أو 9 جيجابايت؟

كيف يمكنني إيقاف المنتدى (أي الموقع الإلكتروني)؟
وهل تقصد أنه بعد زيادة الذاكرة الخاصة بي، حتى بعد ذلك يجب أن أخفض موقعي الإلكتروني قبل إعادة البناء؟

شكرًا لإرشادي.

حاول تشغيل هذا في سطر الأوامر قبل إضافة الذاكرة.
هذا بافتراض أن لديك تثبيتًا قياسيًا أيضًا. تأكد من أنك في الدليل /var/discourse.

./launcher stop app && ./launcher rebuild app && ./launcher start app

إعجاب واحد (1)

أنت على حق!!
لقد أعدت تشغيل خادم أوبونتو الخاص بي، مما سمح لي بالحصول على حوالي 7 إلى 800 ميجابايت من ذاكرة الوصول العشوائي المجانية على مثيلي، ونجحت عملية التمهيد. كان عليّ إيقاف الحاوية الخاصة بي قبل حدوث خطأ آخر، إذا لم تنجح عملية إعادة بناء/تمهيد أخرى بعد تمكين المكونات الإضافية المطلوبة.
لكنني مندهش من متطلبات ذاكرة الوصول العشوائي الجديدة لـ discourse. حيث أن تكلفة المثيل/القطرة تتضاعف تقريبًا عندما أنتقل من 4 إلى 8 جيجابايت من ذاكرة الوصول العشوائي. وهو ما لا أرغب فيه، مع الأخذ في الاعتبار أن موقعي الإلكتروني صغير جدًا جدًا جدًا (ربما 10 زوار في اليوم). في السابق، كان تثبيت discourse القياسي يظهر أنه يتطلب 1 إلى 2 جيجابايت فقط من ذاكرة الوصول العشوائي.
شكرًا جزيلاً لمساعدتي في التعرف على الخطأ الذي كان يحدث.

إعجاب واحد (1)

إذا أمكن، أوصي باختيار الجهاز الذي يحتوي على 8 جيجابايت إذا كان متاحًا. الجهاز الذي يحتوي على 2 جيجابايت مخصص للمنتديات الصغيرة، ويبدو أن لديك الكثير من المحتوى.

إعجاب واحد (1)

لدي 4 جيجابايت مع عدد قليل جدًا من الزيارات حتى الآن. سأفكر في الانتقال إلى 8 جيجابايت (لا يوجد 6 جيجابايت) في المستقبل.

بالمناسبة، قالت بعض المقالات على جوجل إن مقدار الذاكرة المجانية لا يهم كثيرًا. حيث أن هذه الذاكرة مهدرة ولا تفعل شيئًا. ويجب على المستخدمين بدلاً من ذلك الذهاب / التحقق من “الذاكرة المتاحة”، وهي متاحة إذا نشأت الحاجة. وفي حالتي، الذاكرة المتاحة هي 1.4 جيجابايت.

مرة أخرى، آمل أن يتم توجيهي في هذا أيضًا، إذا سمحت.

إعجاب واحد (1)

ماذا يفعل نظامك بـ 1.4 جيجابايت المتاحة؟

إعجاب واحد (1)

كما توضح لقطة الشاشة/المقالة أعلاه، فإن “المتاح” يشمل “ذاكرة التخزين المؤقت” وما إلى ذلك، والتي قد تكون “متاحة للنظام” في حالة نشوء الحاجة. لكنني لست خبيرًا في هذه الأمور.

وأنا ما زلت أبحث في هذه الأمور (مرة أخرى، أنا لست خبيرًا). على الرغم من أن تخميني هو أن موقعي الآخرين على ووردبريس، واللذين أعتبرهما خامدين تقريبًا، قد يكون لهما علاقة بهذا. سأحاول إيقاف تشغيلهما في وقت فراغي، ثم مقارنة الأداء.

في الوقت الحالي، تم حل مشكلتي في إعادة البناء، دون الحاجة إلى موارد أعلى ودفع ضعف المبلغ تقريبًا كل شهر. شكرًا لك.

إعجاب واحد (1)

لذلك هذه ليست فكرة جيدة.

أيضًا، ستكون فكرة جيدة تكوين بعض المبادلة.

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

3 إعجابات