منذ فترة، قمت بإنشاء إضافة لـ Discourse تستدعي طريقة تحكم عبر ajax ثم تعيد النتيجة. يمكن أن يستغرق هذا الطلب المحدد بضع دقائق، وكان هذا يعمل بشكل جيد.
ولكن الآن بعد فترة طويلة، جربت الإضافة في إصدار Discourse الحالي وأواجه مشكلة حيث يتم إلغاء الطلب بعد دقيقة واحدة.
FetchError: فشل الطلب إلى http://127.0.0.1:3000/my-plugin/import، السبب: تم إنهاء المقبس
at ClientRequest. (file:///src/app/assets/javascripts/node_modules/node-fetch/src/index.js:108:11)
at ClientRequest.emit (node:events:526:35)
at Socket.socketOnEnd (node:_http_client:525:9)
at Socket.emit (node:events:526:35)
at endReadableNT (node:internal/streams/readable:1359:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
ما أحاول فهمه هو لماذا قد يكون هذا السلوك قد تغير في العام الماضي؟ وهل هناك أي خيار لتغيير إعداد المهلة.
لا أعتقد أنه كان هناك أي تغيير حديث هنا. تم تكوين الواجهة الخلفية لـ Discourse لإنهاء الطلبات بعد 60 ثانية في بيئة التطوير، أو 30 ثانية في بيئة الإنتاج
يبدو أن هذا قابل للتكوين في بيئة التطوير عبر متغير البيئة UNICORN_TIMEOUT. ولكن الإنتاج مبرمج بشكل ثابت على 30 ثانية.