-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Issue
I'm using the REST API to synchronize data between a blog type website and a self hosted Wekan instance. Every night, I delete all cards in a board, and recreate them with fresh data which makes Wekan crash. But not really crash, it just becomes unreachable/unusable.
Server Setup Information
- Did you test in newest Wekan?:
yes, snap
6.09.0 - Did you configure root-url correctly so Wekan cards open correctly (see https://github.com/wekan/wekan/wiki/Settings)?
yes - Operating System:
ubuntu 18.04.6 LTS
(8 core 8 GB Ram VM) - Deployment Method (Snap/Docker/Sandstorm/bundle/source):
snap - Http frontend if any (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first):
we have an nginx reverse proxy setup - Node.js Version:
12.22.10 - MongoDB Version:
3.2.22 - What webbrowser version are you using (Wekan should work on all modern browsers that support Javascript)?
Recent versions of Chrome (106.0.5249.119 ) and Firefox (102.3.0esr)
Problem description
I have a nestjs based server app running on a different host, that is pushing the data to Wekan.
Manipulating many cards on a board in a quick succession makes Wekan unusable.
Symptoms: 100% cpu utilisation on host, website becomes unreachable/unusable, rest calls fail with timeouts
This has been annoying me for at least over a year now.
My workaround currently is:
- wait between each call 7 seconds. Yes, that is a magic number. This delayed the problem, but did not solve it.
- reboot the host daily.
Waiting between the call delays the problem for a few days or weeks. Rebooting daily seems to solve it for me, but I don't like it at all.
Reproduction Steps
Via the REST API:
In a loop:
- https://wekan.github.io/api/v2.55/#new_card create 100 cards with some content one after the other without any delay between the calls < this has a very low chance of working, but it does not always grind the host to a halt. (fill out authorId, members, title, description, swimlaneId). Right after creating it, https://wekan.github.io/api/v2.55/#edit_card edit the card with custom fields, startAt, endAt, labelIds, and a few custom fields
- https://wekan.github.io/api/v2.55/#get_all_cards list all cards
- https://wekan.github.io/api/v2.55/#delete_card delete all cards one after the other
Eventually, the calls will time out.
Logs
I see a lot of HTTP 408 failed calls on my other host, which is trying to push the data to Wekan.