# <Net::OpenTimeout: execution expired> #

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

الإضافات في المنتدى
  • ردود جاهزة
  • discourse-checklist
  • discourse-legal-tools
  • discourse-solved
  • docker_manager
  • styleguide - معطل
رسالة (تم الإبلاغ عن 661 نسخة) على 2.9.0.beta4
#<Net::OpenTimeout: execution expired>
تتبع الأخطاء
/usr/local/lib/ruby/2.7.0/net/http.rb:960:in initialize' /usr/local/lib/ruby/2.7.0/net/http.rb:960:in open’
/usr/local/lib/ruby/2.7.0/net/http.rb:960:in block in connect' /usr/local/lib/ruby/2.7.0/timeout.rb:105:in timeout’
/usr/local/lib/ruby/2.7.0/net/http.rb:958:in connect' /usr/local/lib/ruby/2.7.0/net/http.rb:943:in do_start’
/usr/local/lib/ruby/2.7.0/net/http.rb:932:in start' /usr/local/lib/ruby/2.7.0/net/http.rb:606:in start’
/var/www/discourse/lib/final_destination.rb:515:in safe_session' /var/www/discourse/lib/final_destination.rb:455:in safe_get’

خطأ في التحميل

Net::OpenTimeout : execution expired

رسالة (تم الإبلاغ عن 273757 نسخة)

فشل في معالجة الاستجابة المختطفة بشكل صحيح : Net::OpenTimeout : execution expired

تتبع الأخطاء

/usr/local/lib/ruby/2.7.0/net/http.rb:960:in initialize' /usr/local/lib/ruby/2.7.0/net/http.rb:960:in open’
/usr/local/lib/ruby/2.7.0/net/http.rb:960:in block in connect' /usr/local/lib/ruby/2.7.0/timeout.rb:105:in timeout’
/usr/local/lib/ruby/2.7.0/net/http.rb:958:in connect' /usr/local/lib/ruby/2.7.0/net/http.rb:943:in do_start’
/usr/local/lib/ruby/2.7.0/net/http.rb:932:in start' /usr/local/lib/ruby/2.7.0/net/http.rb:606:in start’
/var/www/discourse/lib/final_destination.rb:515:in safe_session' /var/www/discourse/lib/final_destination.rb:455:in safe_get’
/var/www/discourse/lib/final_destination.rb:147:in get' /var/www/discourse/lib/file_helper.rb:68:in download’
/var/www/discourse/app/controllers/user_avatars_controller.rb:158:in proxy_avatar' /var/www/discourse/app/controllers/user_avatars_controller.rb:51:in block in show_proxy_letter’
/var/www/discourse/lib/hijack.rb:56:in instance_eval' /var/www/discourse/lib/hijack.rb:56:in block in hijack’
/var/www/discourse/lib/scheduler/defer.rb:94:in block in do_work' rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in with_connection’
/var/www/discourse/lib/scheduler/defer.rb:89:in do_work' /var/www/discourse/lib/scheduler/defer.rb:79:in block (2 levels) in start_thread’

البيئة

عثرت على هذا على stackoverflow لحل المشكلة في Ruby:

يبدو أنها مشكلة مع إصدارات معينة من libc التي تحل مسارات DNS. بعد قضاء بضع ساعات في البحث عن حل، ما عليك سوى إضافة require 'resolv-replace' في بداية الكود الخاص بك.

مزيد من المعلومات: Use Ruby DNS resolver to handle DNS timeout in Net::HTTP by pranas · Pull Request #597 · ruby/ruby · GitHub

آمل أن يساعد هذا شخصًا ما في المستقبل.