Skip to content

Commit 4d9e334

Browse files
committed
fix: Wait for redis cache and queue to start before starting workers
1 parent 68c9181 commit 4d9e334

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

deployment/supervisor.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ directory=/home/frappe/frappe-bench
2929

3030

3131
[program:frappe-bench-frappe-short-worker]
32-
command=/home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 16 --queue short,default
32+
command=bash -c "/home/frappe/frappe-bench/apps/press/deployment/wait-for-redis.sh && /home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 16 --queue short,default"
3333
priority=4
3434
autostart=true
3535
autorestart=true
@@ -43,7 +43,7 @@ process_name=%(program_name)s
4343

4444

4545
[program:frappe-bench-frappe-long-worker]
46-
command=/home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 16 --queue default,short,long
46+
command=bash -c "/home/frappe/frappe-bench/apps/press/deployment/wait-for-redis.sh && /home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 16 --queue default,short,long"
4747
priority=4
4848
autostart=true
4949
autorestart=true
@@ -57,7 +57,7 @@ process_name=%(program_name)s
5757

5858

5959
[program:frappe-bench-frappe-sync-worker]
60-
command=/home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 6 --queue sync,long,default,short
60+
command=bash -c "/home/frappe/frappe-bench/apps/press/deployment/wait-for-redis.sh && /home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 6 --queue sync,long,default,short"
6161
priority=4
6262
autostart=true
6363
autorestart=true
@@ -74,7 +74,7 @@ process_name=%(program_name)s
7474
# Build worker, used to run press side of builds
7575
# i.e tarring and uploading the build context.
7676
[program:frappe-bench-frappe-build-worker]
77-
command=/home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 8 --queue build
77+
command=bash -c "/home/frappe/frappe-bench/apps/press/deployment/wait-for-redis.sh && /home/frappe/.pyenv/versions/3.10.0/bin/bench worker-pool --num-workers 8 --queue build"
7878
priority=4
7979
autostart=true
8080
autorestart=true

deployment/wait-for-it.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
3+
CACHE_URL="redis://127.0.0.1:13000"
4+
QUEUE_URL="redis://127.0.0.1:11000"
5+
6+
MAX_ATTEMPTS=120
7+
attempts=0
8+
9+
until [ $attempts -ge $MAX_ATTEMPTS ]
10+
do
11+
if ( redis-cli -u $QUEUE_URL PING | grep -q PONG ) && ( redis-cli -u $CACHE_URL PING | grep -q PONG ); then
12+
break
13+
fi
14+
sleep 1
15+
echo "Waiting for Redis to be ready..."
16+
((attempts=attempts+1))
17+
done

0 commit comments

Comments
 (0)