Restarting in a clean slate

I want to start all over again. Is it advisable if I just use rm command the whole frappe-bench folder? The one that I initialized?

Just use bench drop-site and bench new-site, unless you really messed up the code base somehow.

I have a problem with my python version. When I bench update --reset this error pops up.

I guess its because its using python3.12 and causes compatibility issue. What I’m planning is remove the frappe bench folder and install a new instance and run it in an virtual environment using Python3.11. I’m not just so sure how to remove it that is safe and I will not break anything in its removal.

If you know any solution to that error I’ll gladly appreciate your help. BTW I already tried restarting supervisord but still the error persist.

I wonder if your supervisord configuration is valid and linked correctly. Did you check that?

I haven’t yet? How to check and how to know if its correctly configured?

You should have a file in config/supervisor.conf containing something like this (I made some assumptions about your paths):

; Notes:
; priority=1 --> Lower priorities indicate programs that start first and shut down last
; killasgroup=true --> send kill signal to child processes too

[program:frappe-bench-web]
command=/home/rabiedev/frappe-bench/env/bin/gunicorn -b 127.0.0.1:8000 -w 5 --max-requests 5000 --max-requests-jitter 500 -t 120 frappe.app:application --preload
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/web.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/web.error.log
user=rabiedev
directory=/home/rabiedev/frappe-bench/sites

[program:frappe-bench-schedule]
command=/usr/local/bin/bench schedule
priority=3
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/schedule.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/schedule.error.log
user=rabiedev
directory=/home/rabiedev

[program:frappe-bench-default-worker]
command=/usr/local/bin/bench worker --queue default
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/worker.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/worker.error.log
user=rabiedev
stopwaitsecs=1560
directory=/home/rabiedev
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d

[program:frappe-bench-short-worker]
command=/usr/local/bin/bench worker --queue short
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/worker.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/worker.error.log
user=rabiedev
stopwaitsecs=360
directory=/home/rabiedev
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d

[program:frappe-bench-long-worker]
command=/usr/local/bin/bench worker --queue long
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/worker.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/worker.error.log
user=rabiedev
stopwaitsecs=1560
directory=/home/rabiedev
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d

[program:rabiedev-redis-cache]
command=/usr/bin/redis-server /home/rabiedev/frappe-bench/config/redis_cache.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/redis-cache.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/redis-cache.error.log
user=rabiedev
directory=/home/rabiedev/frappe-bench/sites

[program:rabiedev-redis-queue]
command=/usr/bin/redis-server /home/rabiedev/frappe-bench/config/redis_queue.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/redis-queue.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/redis-queue.error.log
user=rabiedev
directory=/home/rabiedev/frappe-bench/sites

[program:rabiedev-node-socketio]
command=/usr/bin/node /home/rabiedev/frappe-bench/apps/frappe/socketio.js
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/rabiedev/frappe-bench/logs/node-socketio.log
stderr_logfile=/home/rabiedev/frappe-bench/logs/node-socketio.error.log
user=rabiedev
directory=/home/rabiedev

[group:frappe-bench-web]
programs=frappe-bench-web,rabiedev-node-socketio

[group:frappe-bench-workers]
programs=frappe-bench-schedule,frappe-bench-short-worker,frappe-bench-long-worker

[group:frappe-bench-redis]
programs=rabiedev-redis-cache,rabiedev-redis-queue

That file should be symlinked to /etc/supervisor/conf.d/http.conf (the symlinked file name doesn’t matter, just the directory)

All this should be done for you automatically if you run sudo /home/rabiedev/.local/bin/bench setup production from your bench directory.

More info: Setup Production

1 Like