From f43451efe192fe2e85f540097822a34e738845c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 15 Sep 2022 08:38:09 +0200 Subject: [PATCH] Add known issues to background worker information [ci skip] --- .../development-environment-docker/README.md | 2 +- .../development-environment-osx/README.md | 14 ++++++++++++-- .../development-environment-ubuntu/README.md | 18 +++++++++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/development/development-environment-docker/README.md b/docs/development/development-environment-docker/README.md index c91c8050e12..f80ff9dd51a 100644 --- a/docs/development/development-environment-docker/README.md +++ b/docs/development/development-environment-docker/README.md @@ -101,7 +101,7 @@ bin/compose up worker ``` The testing containers are excluded as well, while they are harmless to start, but take up system resources again and -clog your logs while running. +clog your logs while running. The delayed_job background worker reloads the application for every job in development mode. This is a know issue and documented here: https://github.com/collectiveidea/delayed_job/issues/823 This process can take quite a long time on the first run where all gems are installed for the first time. However, these are cached in a docker volume. Meaning that from the 2nd run onwards it will start a lot quicker. diff --git a/docs/development/development-environment-osx/README.md b/docs/development/development-environment-osx/README.md index ebdcd9ff6e8..f8a94832c39 100644 --- a/docs/development/development-environment-osx/README.md +++ b/docs/development/development-environment-osx/README.md @@ -200,7 +200,7 @@ The application will be available at `http://127.0.0.1:5000`. To customize bind project as `.env` and [configure values](https://ddollar.github.io/foreman/#ENVIRONMENT) as required. By default a worker process will also be started. In development asynchronous execution of long-running background tasks (sending emails, copying projects, -etc.) may be of limited use. To disable the worker process: +etc.) may be of limited use and it has known issues with regards to memory (see background worker section below). To disable the worker process:. To disable the worker process: echo "concurrency: web=1,assets=1,worker=0" >> .foreman @@ -244,7 +244,17 @@ RAILS_ENV=development bin/rails jobs:work This will start a Delayed::Job worker to perform asynchronous jobs like sending emails. -**Note:** If you haven't run this command for a while, chances are that a lot of background jobs have queued up and might cause a significant amount of open tabs (due to the way we deliver mails with the letter_opener gem). To get rid of the jobs before starting the worker, use the following command. **This will remove all currently scheduled jobs, never use this in a production setting.** +## Known issues + +### Memory management + +The delayed_job background worker reloads the application for every job in development mode. This is a know issue and documented here: https://github.com/collectiveidea/delayed_job/issues/823 + + + +### Spawning a lot of browser tabs + +If you haven't run this command for a while, chances are that a lot of background jobs have queued up and might cause a significant amount of open tabs (due to the way we deliver mails with the letter_opener gem). To get rid of the jobs before starting the worker, use the following command. **This will remove all currently scheduled jobs, never use this in a production setting.** ```bash RAILS_ENV=development bin/rails runner "Delayed::Job.delete_all" diff --git a/docs/development/development-environment-ubuntu/README.md b/docs/development/development-environment-ubuntu/README.md index a3b5d220118..64bc6cc63ff 100644 --- a/docs/development/development-environment-ubuntu/README.md +++ b/docs/development/development-environment-ubuntu/README.md @@ -251,7 +251,7 @@ The application will be available at `http://127.0.0.1:3000`. To customize bind project as `.env` and [configure values](https://ddollar.github.io/foreman/#ENVIRONMENT) as required. By default a worker process will also be started. In development asynchronous execution of long-running background tasks (sending emails, copying projects, -etc.) may be of limited use. To disable the worker process: +etc.) may be of limited use and it has known issues with regards to memory (see background worker section below). To disable the worker process: echo "concurrency: web=1,assets=1,worker=0" >> .foreman @@ -287,7 +287,7 @@ should you be working on the TypeScript / Angular frontend part. You can then access the application either through `localhost:3000` (Rails server) or through the frontend proxied `http://localhost:4200`, which will provide hot reloading for changed frontend code. -### Delayed Job background worker +### Background job worker ```bash RAILS_ENV=development bin/rails jobs:work @@ -295,7 +295,19 @@ RAILS_ENV=development bin/rails jobs:work This will start a Delayed::Job worker to perform asynchronous jobs like sending emails. -**Note:** If you haven't run this command for a while, chances are that a lot of background jobs have queued up and might cause a significant amount of open tabs (due to the way we deliver mails with the letter_opener gem). To get rid of the jobs before starting the worker, use the following command. **This will remove all currently scheduled jobs, never use this in a production setting.** + + +## Known issues + +### Memory management + +The delayed_job background worker reloads the application for every job in development mode. This is a know issue and documented here: https://github.com/collectiveidea/delayed_job/issues/823 + + + +### Spawning a lot of browser tabs + +If you haven't run this command for a while, chances are that a lot of background jobs have queued up and might cause a significant amount of open tabs (due to the way we deliver mails with the letter_opener gem). To get rid of the jobs before starting the worker, use the following command. **This will remove all currently scheduled jobs, never use this in a production setting.** ```bash RAILS_ENV=development bin/rails runner "Delayed::Job.delete_all"