Appwrite runtime doesn't seem to support Stream, even though open-runtime does
- 0
- Self Hosted
- Functions
Here's the function code, I kept it as small as possible: https://github.com/verydanny/hooks/blob/main/hooks/hello-world/src/main.js
I reproduced my code using open-runtime - node-21.0 and had no issues rendering content on the page, and no hangups. I did this because I thought the issue was with open-runtime somewhere.
When using Appwrite with node-21.0, it hangs indefinitely and shows the following error in the console:
openruntimes-executor |
openruntimes-executor | Warning: Undefined array key "listening" in /usr/local/app/http.php on line 1023
openruntimes-executor |
openruntimes-executor | Warning: fsockopen(): Unable to connect to 6666003e27327:3000 (Connection refused) in /usr/local/src/Executor/Validator/TCP.php on line 45
openruntimes-executor |
openruntimes-executor | Warning: fsockopen(): Unable to connect to 6666003e27327:3000 (Connection refused) in /usr/local/src/Executor/Validator/TCP.php on line 45
I tracked the issue down to Readable.from(). Basically, with Appwrite, I can only send a Stream if it's a non-text MIME format, but as soon as it's JSON, HTML, or anything text-based it makes Appwrite hang forever.
This shouldn't be the case because html/txt should be streamable as well. I'm trying to build a mini router for functions, and it adds complexity and decreases performance if I have to check every file's MIME format and do response.text() for everything that's non-binary data.
Buffer.from works, but that would make the memory usage go up like crazy depending on the file being sent.
I think I tracked the issue to needing a Content-Length header, but this shouldn't be required. It seems to only be required in the appwrite context.
Recommended threads
- Function domain not available
Hello, even tho in docs you clearly describe that every function has its domain, I can not see it anywhere in any of my projects. How do I reveal the url of th...
- Inquiry: How to Reduce Cold Start Durati...
Hey! I was using Python for the function runtime, but after reading that Go has the fastest runtime, I switched my code over to Go. However, I'm still seeing co...
- After a GET request is passed to functio...
Create execution in the console can normally retrieve the get parameters。WHy?