flush-memcached: Respect MEMCACHED_LOCATION; handle errors.

Fixes #13238.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
Anders Kaseorg
2019-10-01 14:42:35 -07:00
parent 23c48764b5
commit 0af22dad18
4 changed files with 28 additions and 9 deletions

View File

@@ -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)