فشل Discourse في التحديث في واجهة المستخدم الإدارية - بغض النظر عن أي شيء

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

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

باختصار: أداة تحديث واجهة المستخدم تفشل دائمًا، سطر الأوامر يعمل من المحاولة الأولى وأود إصلاحها بحيث لا أضطر إلى الاتصال بالخادم عبر SSH (بشكل متكرر).

شكرا!

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

مرحباً، نفس الشيء، هذا هو الحال منذ شهور.

إذا قمت بالاتصال بخادمك عبر SSH، فماذا يعرض الأمر free -h؟

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

image

ليس لدي أكثر من 3 مستخدمين متزامنين وأحتاج إلى أكثر من ذلك. أعتقد أنك بحاجة إلى ترقية جهاز VPS الخاص بك.

كنت أستطيع إجراء تحديث بذاكرة وصول عشوائي 2 جيجابايت + مساحة تبديل 2 جيجابايت ولكن أعتقد أن ذلك كان قبل Ember، وهو أمر يتطلب الكثير. إذا كانت لديك مساحة قرص كافية لزيادة مساحة التبديل إلى 4 جيجابايت، فقد ينجح ذلك. أو، قم بالترحيل مؤقتًا وبحذر إلى مثيل بذاكرة وصول عشوائي أكبر، وقم بإجراء التحديث، ثم قم بالترحيل مرة أخرى.

مهما فعلت، قم بعمل نسخة احتياطية وقم بتنزيلها أولاً.

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

سألقي نظرة على خيار التبديل، وأرى ما إذا كان ذلك يساعد. لدي 2 جيجابايت من ذاكرة الوصول العشوائي (RAM)، و 80 جيجابايت من القرص.

للأسف، لا يدعم مزودي الخدمة التغييرات التلقائية في موارد النظام، لكنني لا أرغب أيضًا في دفع أكثر من 5 دولارات.

شكراً على المساعدة.

كان لدي 2 جيجابايت من ذاكرة الوصول العشوائي و 40 جيجابايت من القرص، بالاعتماد على .\discourse-setup لتهيئة الـ swap، كانت تحديثات واجهة المستخدم الرسومية بطيئة

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

قد يكون استضافة Ionos USA هذه جديرة بالاهتمام

نعم، أنا في المستوى الأدنى، وبعد عام يصبح 8 دولارات شهريًا. للأسف.

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

أعلم أن Contabo توفر خوادم افتراضية خاصة بأسعار جيدة.


لقد قلت أقل من 5…

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

رائع، هذا سعر جيد. سألقي نظرة. شكراً!

إعجابَين (2)

في السوق الأمريكية، يسمح كل من Contabo و IONOS بالمنفذ الوارد 25، وهو أمر بالغ الأهمية لتكوينات mail-receiver — لذلك لا يوجد قيد وظيفي هناك.

يكمن الاختلاف الحقيقي في السمعة من حيث الموثوقية والدعم:

  • Contabo (Trustpilot 4.2/5، ~6,700 مراجعة) يقدم أسعارًا تنافسية ومواصفات عالية، ولكن غالبًا ما يبلغ المستخدمون في الولايات المتحدة عن كمون عالٍ، استجابة دعم أبطأ، و عدم استقرار في الأداء، خاصة تحت الحمل. توجد مراكز بيانات Contabo في الولايات المتحدة، لكنها ليست دائمًا سريعة الاستجابة كما هو متوقع.

  • IONOS (Trustpilot 4.5/5، ~31,000 مراجعة) يقدم أداءً أفضل في الولايات المتحدة مما يفترض الكثيرون. يتمتع بسمعة أقوى في الدعم وبنية تحتية أكثر موثوقية، مع عدد أقل من المراجعات ذات النجمة الواحدة (حوالي 10٪ مقابل 16٪ لـ Contabo). يبلغ المستخدمون باستمرار عن وقت تشغيل أفضل، ودعم مباشر، وإدارة حساب مقارنة بـ Contabo.

الخلاصة (الولايات المتحدة):
إذا كنت مقيمًا في الولايات المتحدة وتحتاج إلى الاستقرار، والدعم السريع، والمخاطر المنخفضة لأعباء العمل الإنتاجية، فإن IONOS هو الخيار الأكثر أمانًا. قد يظل Contabo يستحق النظر فيه لبيئات التطوير/الاختبار أو عمليات النشر الحساسة للتكلفة، ولكن توقع مقايضات في الكمون وجودة الدعم.

3 إعجابات

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

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL فشلت العملية وتم إنهاؤها بـ SIGKILL (إنهاء قسري): ember build -prod /var/www/discourse/script/assemble_ember_build.rb:103:in `system': فشل الأمر مع الخروج 1: pnpm (RuntimeError) from /var/www/discourse/script/assemble_ember_build.rb:103:in `<main>' Docker Manager: فشل الترقية

في جميع الحالات تقريبًا، سيكون من المفيد جدًا رؤية الـ 50 إلى 200 سطر السابقة من المخرجات. من المؤسف أن البرامج النصية لا تنصح بذلك.

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

هذا ما كنت أتساءل عنه - هل كان مرتبطًا بمشكلة في الكود نفسه وليس كثيرًا بالأجهزة الخاصة بخادمي.\n\nأعتقد أن الاحتمال التالي هو مجرد كتابة المكون الإضافي الخاص بي بنفسي باستخدام نص برمجي لتحديثه يدويًا.\n\nيسعدني أن الآخرين لديهم نفس المشكلة حتى لا أكون أنا الوحيد (أعلم أن هذا أمر سيء). ربما يمكن لشخص يطور بنشاط مع Discourse التحقق من ذلك. أتمنى أيضًا أن تكون هناك معلومات تصحيح أخطاء أفضل أكثر من مجرد “فشل”.

إد، سأرى ما إذا كان بإمكاني الحصول على ذلك لك. ونشره على الفور.

لست مطورًا أو خبيرًا فيما يتعلق بالخوادم وكل ذلك. لقد اخترت Digital Ocean، فقط لأنها كانت المذكورة في تعليمات التثبيت الرسمية، ولأنني رأيت هذا الاسم مذكورًا مرارًا وتكرارًا على مر السنين.
في الوقت الحالي، أنا على ثاني أقل خطة وهي 6 دولارات شهريًا لخادم يبدو أنه “أبطأ” بكثير من تلك التي تقدمها Contabo أو IONOS. نظرًا لأن الحد الأدنى لأداء Discourse الجيد هو 2 جيجابايت من ذاكرة الوصول العشوائي على الأقل، فسيتعين علي ترقية خطة الـ 12 دولارًا. بالنسبة لـ Contabo بسعر 4.95 دولار شهريًا، سأحصل على 8 جيجابايت… إنه فرق “صغير” :wink: سواء في السعر أو ذاكرة الوصول العشوائي، ناهيك عن مساحة القرص، إلخ.
لذلك، أسألكم وأي مستخدمين آخرين ذوي خبرة، هل من المنطقي أن أنقل Discourse الخاص بي إلى Contabo، على سبيل المثال، بدلاً من البقاء مع Digital Ocean؟ على الرغم من أنني ما زلت أقوم ببناء المجتمع بأكمله وكل ذلك، فقد كان DO جيدًا حتى الآن، بصرف النظر عن مشكلة تحديث Discourse على الويب، حتى مع ملف مبادلة بحجم 4 جيجابايت (لأن مساحة القرص الخاصة بي هي 25 جيجابايت فقط)، لكنني لا أريد نقل كل شيء ثم البدء في ملاحظة مشاكل أخرى.
لقد وجدت هذه الصفحة، لكنني لست متأكدًا من مدى موثوقية هذه الاختبارات حقًا وما إذا كانت كافية لجعلني أتحول؟
أي ملاحظات ستكون محل تقدير كبير!
شكرًا! :raising_hands:

إعجابَين (2)

هذا يدمر تمامًا ما تقدمه Digital Ocean مقابل 6 دولارات شهريًا مع 1 جيجابايت فقط من ذاكرة الوصول العشوائي…

هل توصي بالتبديل؟

********************************************************
*** يرجى التحلي بالصبر، قد تستغرق الخطوات التالية بعض الوقت ***
********************************************************
إعادة تشغيل Unicorn لتحرير الذاكرة
إعادة تشغيل unicorn pid: 1580
في انتظار إعادة تحميل Unicorn.
في انتظار إعادة تحميل Unicorn..
في انتظار إعادة تحميل Unicorn...
في انتظار إعادة تحميل Unicorn....
في انتظار إعادة تحميل Unicorn.....
في انتظار إعادة تحميل Unicorn......
في انتظار إعادة تحميل Unicorn.......
في انتظار إعادة تحميل Unicorn........
في انتظار إعادة تحميل Unicorn.........
في انتظار إعادة تحميل Unicorn..........
في انتظار إعادة تحميل Unicorn...........
في انتظار إعادة تحميل Unicorn............
في انتظار إعادة تحميل Unicorn.............
في انتظار إعادة تحميل Unicorn..............
إيقاف 1 عامل Unicorn، لتحرير الذاكرة
إيقاف قائمة المهام لاستعادة الذاكرة، معرف العملية الرئيسي هو 1585
$ cd /var/www/discourse & git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse & git reset --hard HEAD@{upstream}
HEAD is now at 20ff23ed0 DEV: remove redundant translations for disabled new topic btn (#33929)
$ bundle install --retry 3 --jobs 4
Bundle complete! 160 Gemfile dependencies, 207 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into ./vendor/bundle
3 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
Scope: all 16 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date

Done in 2.9s using pnpm v9.15.9
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-custom-wizard is already at latest compatible version
docker_manager is already at latest compatible version
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Multisite migrator is running using 1 threads

Migrating default
Seeding default
*** Bundling assets. This will take a while *** 
$ bundle exec rake themes:update assets:precompile
Updating themes with concurrency: 10
[db:default] 'Air Theme' -  checking...
[db:default] 'Air Theme' -  up to date
[db:default] 'Modern Category + Group Boxes' -  checking...
[db:default] 'Modern Category + Group Boxes' -  up to date
[db:default] 'Clickable Topic' -  checking...
[db:default] 'Clickable Topic' -  up to date
[db:default] 'Search Banner' -  checking...
Node.js heap_size_limit is less than 2048MB. Setting --max-old-space-size=2048 and CHEAP_SOURCE_MAPS=1
Existing build is not reusable.
- Existing: {"ember_env"=>"production", "core_tree_hash"=>"cd74e4ac33647244c041061633d6ca67f9166e5c"}
- Current: {"ember_env"=>"production", "core_tree_hash"=>"7ac67590cc51e22690a2711b593892cd1d266781"}
Running full core build...
Building
Environment: production
The setting 'staticAddonTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTrees: true' in your Embroider config.
The setting 'staticAddonTestSupportTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTestSupportTrees: true' in your Embroider config.
building...
...[ConfigLoader]
...[Babel: @embroider/macros > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js as it exceeds the max of 500KB.
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-cache-primitive-polyfill > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command was killed with SIGKILL (Forced termination): ember build -prod
/var/www/discourse/script/assemble_ember_build.rb:103:in `system': Command failed with exit 1: pnpm (RuntimeError)
	from /var/www/discourse/script/assemble_ember_build.rb:103:in `<main>'
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:65:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:143:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:63:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 1 Unicorn worker(s) that were stopped initially

Here you go. Reproduced Today.

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