mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	flush-memcached: Respect MEMCACHED_LOCATION; handle errors.
Fixes #13238. Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
		@@ -1,6 +1,25 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -e
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
# Flush memcached
 | 
			
		||||
echo "Flushing memcached..."
 | 
			
		||||
echo 'flush_all' | nc -w 1 localhost 11211
 | 
			
		||||
import os
 | 
			
		||||
import socket
 | 
			
		||||
import sys
 | 
			
		||||
from urllib.parse import urlsplit
 | 
			
		||||
 | 
			
		||||
BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../..")
 | 
			
		||||
sys.path.append(BASE_DIR)
 | 
			
		||||
 | 
			
		||||
import scripts.lib.setup_path_on_import
 | 
			
		||||
from zproject import settings
 | 
			
		||||
 | 
			
		||||
url = urlsplit("//" + settings.MEMCACHED_LOCATION)
 | 
			
		||||
 | 
			
		||||
print("Flushing memcached...")
 | 
			
		||||
with socket.create_connection((url.hostname, url.port)) as f:
 | 
			
		||||
    f.sendall(b"flush_all\r\n")
 | 
			
		||||
    response = b""
 | 
			
		||||
    while b"\n" not in response:
 | 
			
		||||
        response += f.recv(4096)
 | 
			
		||||
    if response != b"OK\r\n":
 | 
			
		||||
        print(response, file=sys.stderr)
 | 
			
		||||
        print("Failed to flush memcached", file=sys.stderr)
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user