Vor einiger Zeit habe ich ein Discourse-Plugin erstellt, das eine Controller-Methode über ajax aufruft und dann das Ergebnis zurückgibt. Diese spezielle Anfrage kann einige Minuten dauern, und das funktionierte bisher einwandfrei.
Aber jetzt, nach langer Zeit, habe ich das Plugin in der aktuellen Discourse-Version ausprobiert und stoße auf ein Problem, bei dem die Anfrage nach 1 Minute abgebrochen wird.
Der Code sieht also so aus:
ajax("/my-plugin/import", {
type: "POST",
data: {
categoryId: this.categoryId,
otherData: ...
}
}).then((result) => { ... });
Und die Fehlermeldung, die ich nach 1 Minute sehe, lautet:
Discourse Ember CLI Proxy Error
FetchError: request to http://127.0.0.1:3000/my-plugin/import failed, reason: socket hang up
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)
Ich versuche zu verstehen, warum sich dieses Verhalten im letzten Jahr geändert haben könnte? Und ob es eine Möglichkeit gibt, die Timeout-Einstellung zu ändern.