Troubles to get Multiuser Ready

Troubles to get Multiuser Ready

After my first registration had registered, there were still a few problems to be fixed.

  1. Password policy is stricter at Oracle than at KIA and Hyundai, so a stricter password had to be created at KIA or Hyundai first.

  2. On the one hand, the Oracle Scheduler jobs queried my proxy in a matter of seconds, which meant that I suddenly received 504 nginx gateway timeout error messages for queries.

  3. CSS classes are displayed differently in Android than on the iPhone. This resulted in strange buttons.

  4. I still had to enter some master data that I had not prepared when creating the user.

  5. I had to adjust poorly written views that only have problems if they aren't already getting data from some sources. (New registration also means no data in many areas)

  6. The most important feature I still have to add: Changing the user and vehicle data. You could have made a mistake...

to point 2: ChatGPT helped me here

A 504 error in the context of an Nginx server proxying requests to a Node.js application typically indicates that the Nginx server is unable to receive a response from the Node.js application within the specified timeout period.

One way to fix this issue is to increase the timeout value in the Nginx configuration. This can be done by editing the proxy_read_timeout and proxy_connect_timeout directives in the Nginx configuration file.

Another possible cause of this issue is that the Node.js application is handling multiple requests simultaneously and not closing the connection properly, resulting in Nginx sending multiple requests. To fix this, you should make sure that your Node.js application is closing the connection properly after each request.

Another reason could be that the Node.js application is responding to the duplicate requests and creating multiple connections to the server which is causing the 504 error. In that case you can use a load balancer in front of the server to control the number of connections.

It is also possible that the issue is not related to Nginx or Node.js, but rather with a firewall or load balancer in front of your server. In that case, you should check the configuration of those systems to ensure that they are not causing the issue.

In summary, you should check the Nginx and Node.js configuration, and also check for other systems that may be causing the issue.

Und dann fragte ich natürlich wie ich meine node.js scalieren kann..

Yes, you can use pm2 to handle multiple requests in Node.js. PM2 is a process manager for Node.js that allows you to run and manage multiple Node.js processes. It can automatically start, stop, and restart processes, and it also provides features such as process monitoring and clustering.

When you start a Node.js application with PM2, it will automatically create a cluster of worker processes that share the same server port and handle incoming requests. This allows multiple requests to be handled in parallel, improving the server's overall performance.

Here's an example of starting a Node.js application with PM2:

Copy code$ pm2 start app.js -i max

The -i max option tells PM2 to start a worker process for each CPU core on the machine.

You can also use the pm2 start command with the --watch option to automatically restart your application when source code changes.

Copy code$ pm2 start app.js --watch

You can also use PM2 to monitor your application, get runtime metrics and automatically restart it in case of an exception with pm2 monit

Copy code$ pm2 monit

Additionally, you can use PM2 to scale your application horizontally. Scaling is the process of adding or removing instances of an application.

Copy code$ pm2 scale app +2

In summary, PM2 is a powerful tool that can help you manage multiple Node.js processes, improve the performance of your server, and monitor your application.