Spaces:
Paused
Paused
Commit
•
b2aeedc
1
Parent(s):
b7fa076
added in a kill redis clients script
Browse files- kill_redis.py +37 -0
- tasks.py +1 -2
kill_redis.py
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import subprocess
|
3 |
+
from dotenv import load_dotenv
|
4 |
+
from redis import Redis
|
5 |
+
|
6 |
+
load_dotenv()
|
7 |
+
|
8 |
+
REDIS_URL = os.environ['REDIS_URL']
|
9 |
+
redis_client = Redis.from_url(REDIS_URL)
|
10 |
+
|
11 |
+
def kill_all_redis_clients():
|
12 |
+
try:
|
13 |
+
# Fetch Redis URL from environment variable
|
14 |
+
if not REDIS_URL:
|
15 |
+
raise ValueError("REDIS_URL is not set in the environment variables.")
|
16 |
+
|
17 |
+
# Extract host and port from the Redis URL
|
18 |
+
redis_host = REDIS_URL.split("//")[-1].split("@")[1].split(":")[0]
|
19 |
+
redis_port = REDIS_URL.split("//")[-1].split("@")[1].split(":")[1]
|
20 |
+
|
21 |
+
# Execute Redis CLI commands to list and kill clients
|
22 |
+
client_list_command = f'redis-cli -h {redis_host} -p {redis_port} CLIENT LIST'
|
23 |
+
client_list_output = subprocess.check_output(client_list_command, shell=True).decode('utf-8')
|
24 |
+
|
25 |
+
client_ids = [line.split(' ')[0].split('=')[1] for line in client_list_output.strip().split('\n') if 'id=' in line]
|
26 |
+
|
27 |
+
for client_id in client_ids:
|
28 |
+
kill_command = f'redis-cli -h {redis_host} -p {redis_port} CLIENT KILL ID {client_id}'
|
29 |
+
subprocess.check_call(kill_command, shell=True)
|
30 |
+
|
31 |
+
print("Successfully killed all Redis clients.")
|
32 |
+
|
33 |
+
except Exception as e:
|
34 |
+
print(f"An error occurred: {e}")
|
35 |
+
|
36 |
+
if __name__ == "__main__":
|
37 |
+
kill_all_redis_clients()
|
tasks.py
CHANGED
@@ -1,14 +1,13 @@
|
|
1 |
# tasks.py
|
2 |
import os
|
3 |
import logging
|
|
|
4 |
from dotenv import load_dotenv
|
5 |
from celery import Celery
|
6 |
from db.db_utils import get_connection, store_result_to_db
|
7 |
|
8 |
load_dotenv()
|
9 |
|
10 |
-
REDIS_URL = os.environ['REDIS_URL']
|
11 |
-
|
12 |
app = Celery('tasks', broker=REDIS_URL, backend=REDIS_URL)
|
13 |
|
14 |
app.conf.update(
|
|
|
1 |
# tasks.py
|
2 |
import os
|
3 |
import logging
|
4 |
+
from redis import Redis
|
5 |
from dotenv import load_dotenv
|
6 |
from celery import Celery
|
7 |
from db.db_utils import get_connection, store_result_to_db
|
8 |
|
9 |
load_dotenv()
|
10 |
|
|
|
|
|
11 |
app = Celery('tasks', broker=REDIS_URL, backend=REDIS_URL)
|
12 |
|
13 |
app.conf.update(
|