طلب AJAX ينتهي وقته بعد دقيقة واحدة

منذ فترة، قمت بإنشاء إضافة لـ Discourse تستدعي طريقة تحكم عبر ajax ثم تعيد النتيجة. يمكن أن يستغرق هذا الطلب المحدد بضع دقائق، وكان هذا يعمل بشكل جيد.
ولكن الآن بعد فترة طويلة، جربت الإضافة في إصدار Discourse الحالي وأواجه مشكلة حيث يتم إلغاء الطلب بعد دقيقة واحدة.

إذًا، يبدو الكود كالتالي:

ajax("/my-plugin/import", {
        type: "POST",
        data: {
          categoryId: this.categoryId,
          otherData: ...
        }
      }).then((result) => { ... });

ورسالة الخطأ التي أراها بعد دقيقة واحدة هي:

خطأ في وكيل Discourse Ember CLI

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 ثانية.

إعجابَين (2)

ربما ترغب في جدولة المهام لمعالجة الاستيراد.

3 إعجابات

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

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.