2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-14 09:14:04 +00:00
Commit Graph

2309 Commits

Author SHA1 Message Date
Ankush Menat
a834d864bb
Merge pull request #1486 from revant/fix-verbose
fix: pass verbose to yarn or npm install
2023-11-29 11:19:45 +05:30
Ankush Menat
2ec0c0a95a fix: more reliable gunicorn restart
killasgroup will ensure that all child processes die even if gunicorn
fails to do it. This isn't truly required because stopwaitsecs and
gunicorn graceful timeout work fine. In any case, if supervisor has to
send SIGKILL, it better send it to entire process group.
2023-11-03 21:38:47 +05:30
Ankush Menat
255c9301e9
Merge pull request #1494 from frappe/dev_bench
feat: flag to setup bench with developer mode enabled
2023-11-02 19:45:27 +05:30
Ankush Menat
f29e25a5d2 feat: flag to setup bench with developer mode enabled
Dev dependencies are not installed if developer_mode is not enabled.
When creating a new bench it's not possible to modify this config
upfront, so offer a flag to do it instead.

Note:
- Disabled by default.
- Very few people need this, those who write and run tests locally primarily.
- You mostly should not do this in CI, do `bench setup requirements --dev` explicitly instead.
2023-11-02 14:28:21 +05:30
Ankush Menat
52f704777b
Merge pull request #1493 from frappe/timeout
fix: Prevent Gunicorn child workers hangup
2023-11-02 12:11:09 +05:30
Ankush Menat
36f2194865 fix: Prevent Gunicorn child workers hangup
Problem:

- Prerequisite: long running reqeust is going on.
- `bench restart` is requested.
- supervisord sends sigterm to gunicorn master process.
- gunicorn passes it to all child table and waits for graceful shutdown (30 seconds)
- supervisord has no chill, and sends sigkill to master process in 10 seconds
- gunicorn master proesss is dead, so now child workers will keep running until they complete request which can take a really long time.
- This entire time the sites will be down.

Fix:
- Explicitly encode default graceful_timeout in config - 30 seconds.
- Make supervisor wait 10 more seconds for gunicorn to do its thing, then only send sigkill.
2023-11-02 11:40:07 +05:30
Ankush Menat
53a8fedadc fix: override X-Forwarded-For address in bench manager 2023-10-19 17:06:21 +05:30
Ankush Menat
96f1229648
Merge pull request #1489 from akhilnarang/mysql-to-mariadb
refactor(treewide): use `mariadb` commands and service instead of `mysql`
2023-10-10 15:09:31 +05:30
Akhil Narang
8f3f1a48a6
refactor(treewide): use mariadb commands and service instead of mysql
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-10-10 13:49:03 +05:30
Ankush Menat
57937a3811
Merge pull request #1484 from revant/custom-image-easy-install
feat: allow custom image in easy install
2023-09-24 10:07:31 +05:30
Revant Nandgaonkar
fde7a8209d fix(easy-install): set default site to site1.localhost 2023-09-22 13:27:15 +05:30
Revant Nandgaonkar
f93f065ba3 fix: image replace and site creation 2023-09-22 13:20:30 +05:30
Revant Nandgaonkar
00391bfeb9 feat: pass verbose to npm install 2023-09-14 04:35:30 +05:30
Revant Nandgaonkar
346d08d30f feat: pass verbose to yarn install 2023-09-14 04:29:58 +05:30
Ankush Menat
dcae3e35cf
Merge pull request #1485 from ankush/localhost
refactor: use 127.0.0.1 instead of localhost
2023-09-13 15:58:45 +05:30
Ankush Menat
672eca10a7 test: fix expected failing tests 2023-09-13 15:44:17 +05:30
David Arnold
697939e205 fix: nodejs redis v4 interprets localhost as ipv6 address
But the redis only binds to 127.0.0.1, not ::1.

Avoid this problem by being explicit.
2023-09-13 15:43:06 +05:30
Revant Nandgaonkar
8ba685cc50 feat: allow custom image in easy install 2023-09-12 14:27:24 +05:30
Ankush Menat
c2af169dd6
fix: sync socketio port for old benches (#1481) 2023-09-06 09:46:01 +05:30
Ankush Menat
3c8cbbc023
fix: port number mismatch when having multiple benches (#1480) 2023-08-29 14:38:29 +05:30
Ankush Menat
5a2c052b9b
feat: Multi queue consumption (#1475)
Ref: https://frappe.io/blog/engineering/reducing-memory-footprint-of-frappe-framework
2023-08-07 14:28:02 +05:30
Ankush Menat
87efb75a08
refactor!: Reuse redis_cache instace for socketio (#1382)
WARNING: Just a POC. You're free to modify your setup to test this out.

Summary:
- After this change bench wont generate config for redis_socketio
  instance.
- Instead we set the same port as redis_cache service for use in
  socketio. i.e. both will share same instance.

Code changes:

- Config will have this difference:

```diff
- "redis_socketio": "redis://localhost:12000",
- "redis_cache": "redis://localhost:13000",
+ "redis_socketio": "redis://localhost:13000",
+ "redis_cache": "redis://localhost:13000",
```

- supervisord/systemd wont start redis_socketio service
- for development setups: redis_socketio service is removed from procfile.

Why?

- Currently this redis instance is used only to ship messages from python
to nodejs server... which is largely stateless (only pub/sub channels)
- This change reduces 1 running process. Less resources for this ~= more
  resources for other running things.

TODO:
- [ ] decicisions - should we even do this? this should be optinal?
- [ ] refactor progressbar in frappe
- [ ] Tests - manual, FC, docker, automated
- [ ] "migration" plan

All dependent deployment projects will likely have to refactor their code to drop this service, shouldn't be too much work.
Example: Frappe cloud, Frappe Docker.
2023-08-07 12:55:19 +05:30
Ankush Menat
77ebdbe6f9
ci: fix test versions (#1474) 2023-08-07 12:27:02 +05:30
Ankush Menat
036cb6291e
fix: don't compile python files manually. (#1469) 2023-07-04 19:52:05 +05:30
Ritwik Puri
480e35c1c7
Merge pull request #1446 from gavindsouza/app_name-repo
fix: Handle apps with different repo & app names
2023-06-02 13:49:20 +05:30
Gavin D'souza
d9c8335fbf
fix: Remove except-pass ValueError 2023-06-02 12:41:56 +05:30
Gavin D'souza
f7fbee99d6
fix: Revert usage of app_name for repo name 2023-05-31 14:00:24 +05:30
Gavin D'souza
e80daf8c3e
fix: Use == for dict comparison 2023-05-31 14:00:24 +05:30
Gavin D'souza
4f423923b4
fix: Use App.app_name over repo attr 2023-05-31 14:00:24 +05:30
Gavin D'souza
3af6058d1b
fix: Archive app for different repo/app names 2023-05-31 14:00:24 +05:30
Ritwik Puri
3e448d4d42
Merge pull request #1455 from gavindsouza/cleaner-cli
fix(cli): Show relevant details on CommandFailedError
2023-05-30 12:13:54 +05:30
Gavin D'souza
94a1b8c3fb
fix: Setup exception handler for CommandFailedError only
* Match only certain module lib paths
2023-05-26 11:25:28 +05:30
Gavin D'souza
8175239434
fix: Hide irrelevant stacks during exc raise 2023-05-26 11:25:06 +05:30
Gavin D'souza
a1d2c5226b
fix: Print failing command with CommandFailedError
I've seen way too many issues being faced / misunderstandings due to the
lack of "cmd"
2023-05-26 11:25:02 +05:30
Ankush Menat
082692cae2
Revert "fix: resolve filesystem app dependencies (#1450)" (#1452)
This reverts commit f3b55f7785.
2023-05-09 21:31:33 +05:30
Alok Singh
f3b55f7785
fix: resolve filesystem app dependencies (#1450)
* fix: resolve private app dependencies

* fix: removed additional check and moved self.on_disk to previous check.
2023-05-04 17:28:34 +05:30
Sagar Vora
934b2677c8
chore: fix typo (#1448) 2023-05-03 13:52:01 +05:30
Ankush Menat
fd6dfc3ae7
ci: run easy install test with lower python version (#1442) 2023-03-01 10:36:50 +05:30
Ankush Menat
f7a0d28174 chore: remove unsupported annotations
closes https://github.com/frappe/bench/issues/1441
2023-03-01 10:26:54 +05:30
Ankush Menat
9fb55e6dca chore: remove unsupported annotations
these annotations dont work on python <3.9

closes https://github.com/frappe/bench/issues/1440
2023-02-28 10:25:08 +05:30
Saif Ur Rehman
4ec73c3b92
fix: add customer background workers in group (#1439) 2023-02-27 14:16:51 +05:30
Revant Nandgaonkar
eba0f7a54f
fix: easy-install for letsencrypt tls (#1424)
* fix: easy-install for letsencrypt tls

* ci: change site for easy-install test

* ci: set host header for easy-install ping test
2023-02-27 10:58:33 +05:30
gavin
c690e8e7f5
fix: Handle supervisor escalation better (#1438)
* fix: Give more meaningful context in subproc failures

* fix: Handle supervisor escalation if no exc is raised

* fix: only apply sudo if not already running as sudo
2023-02-24 15:13:36 +05:30
Ankush Menat
b9e9eac411 ci: Use node18 for releases 2023-01-30 20:26:01 +05:30
gavin
dd77fd87fd
build: Bump GitPython 2.1.x => 3.1.x (#1423) 2023-01-30 16:44:29 +05:30
gavin
bcc90c8b08
Merge pull request #1421 from gavindsouza/bench-no_cache
fix(cli): Setup chdir patch earlier
2023-01-24 16:38:03 +05:30
Gavin D'souza
044d646ec5 style: Pre-commit linters 2023-01-24 15:26:32 +05:30
Gavin D'souza
3f9360bc42 chore: Drop dead deepsource conf 2023-01-24 15:26:11 +05:30
Gavin D'souza
db165d1f9b fix: Setup chdir patch earlier
Setup monkey patching before any other bench code decides to chdir
2023-01-24 15:21:24 +05:30
trs998
e58a56e247
docs: Added --email argument to install script (#1417)
The install script requires the --email parameter, so added to example command line
2023-01-20 23:07:38 +05:30