Tools update

This commit is contained in:
2025-10-05 14:51:57 +02:00
parent 4a87ab82d8
commit 7455b519c2

View File

@@ -354,6 +354,9 @@ Transcription control:
RQ helpers:
rq-info # show RQ queue summary via worker container
rq-transcribe-requeue # requeue all failed 'transcribe' jobs back to active
rq-clear-transcribe # purge 'transcribe' queue and clean its registries (failed/started/scheduled/etc.)
rq-clear-default # purge 'default' queue and clean its registries
rq-clear-all # purge both 'default' and 'transcribe' queues and registries
Queues (Redis):
queues-workers-list # show worker queue sizes (LLEN) and related keys
@@ -876,6 +879,97 @@ PY
fi
;;
rq-clear-transcribe)
: "${REDIS_URL:=redis://redis:6379/0}"
if command -v docker >/dev/null 2>&1 && command -v docker compose >/dev/null 2>&1; then
docker compose exec -T podx-worker-transcribe python - <<'PY'
import sys
from redis import Redis
from rq import Queue
from rq.registry import FailedJobRegistry, StartedJobRegistry, DeferredJobRegistry, FinishedJobRegistry, ScheduledJobRegistry
url = sys.argv[1] if len(sys.argv)>1 else 'redis://redis:6379/0'
conn = Redis.from_url(url)
def clear(name):
q = Queue(name, connection=conn)
regs = [FailedJobRegistry(q), StartedJobRegistry(q), DeferredJobRegistry(q), FinishedJobRegistry(q), ScheduledJobRegistry(q)]
for reg in regs:
try:
for jid in reg.get_job_ids():
try: reg.remove(jid, delete_job=True)
except Exception: pass
except Exception: pass
try: q.empty()
except Exception: pass
print(f"[rq] cleared queue '{name}' and registries.")
clear('transcribe')
PY
"$REDIS_URL"
else
echo "docker compose not found; cannot run rq inside container." >&2; exit 1
fi
;;
rq-clear-default)
: "${REDIS_URL:=redis://redis:6379/0}"
if command -v docker >/dev/null 2>&1 && command -v docker compose >/dev/null 2>&1; then
docker compose exec -T podx-worker python - <<'PY'
import sys
from redis import Redis
from rq import Queue
from rq.registry import FailedJobRegistry, StartedJobRegistry, DeferredJobRegistry, FinishedJobRegistry, ScheduledJobRegistry
url = sys.argv[1] if len(sys.argv)>1 else 'redis://redis:6379/0'
conn = Redis.from_url(url)
def clear(name):
q = Queue(name, connection=conn)
regs = [FailedJobRegistry(q), StartedJobRegistry(q), DeferredJobRegistry(q), FinishedJobRegistry(q), ScheduledJobRegistry(q)]
for reg in regs:
try:
for jid in reg.get_job_ids():
try: reg.remove(jid, delete_job=True)
except Exception: pass
except Exception: pass
try: q.empty()
except Exception: pass
print(f"[rq] cleared queue '{name}' and registries.")
clear('default')
PY
"$REDIS_URL"
else
echo "docker compose not found; cannot run rq inside container." >&2; exit 1
fi
;;
rq-clear-all)
: "${REDIS_URL:=redis://redis:6379/0}"
if command -v docker >/dev/null 2>&1 && command -v docker compose >/dev/null 2>&1; then
docker compose exec -T podx-worker-transcribe python - <<'PY'
import sys
from redis import Redis
from rq import Queue
from rq.registry import FailedJobRegistry, StartedJobRegistry, DeferredJobRegistry, FinishedJobRegistry, ScheduledJobRegistry
url = sys.argv[1] if len(sys.argv)>1 else 'redis://redis:6379/0'
conn = Redis.from_url(url)
def clear(name):
q = Queue(name, connection=conn)
regs = [FailedJobRegistry(q), StartedJobRegistry(q), DeferredJobRegistry(q), FinishedJobRegistry(q), ScheduledJobRegistry(q)]
for reg in regs:
try:
for jid in reg.get_job_ids():
try: reg.remove(jid, delete_job=True)
except Exception: pass
except Exception: pass
try: q.empty()
except Exception: pass
print(f"[rq] cleared queue '{name}' and registries.")
for name in ('default','transcribe'):
clear(name)
PY
"$REDIS_URL"
else
echo "docker compose not found; cannot run rq inside container." >&2; exit 1
fi
;;
*)
echo "Unknown command: $cmd" >&2
_help