Tools update
This commit is contained in:
@@ -354,6 +354,9 @@ Transcription control:
|
|||||||
RQ helpers:
|
RQ helpers:
|
||||||
rq-info # show RQ queue summary via worker container
|
rq-info # show RQ queue summary via worker container
|
||||||
rq-transcribe-requeue # requeue all failed 'transcribe' jobs back to active
|
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 (Redis):
|
||||||
queues-workers-list # show worker queue sizes (LLEN) and related keys
|
queues-workers-list # show worker queue sizes (LLEN) and related keys
|
||||||
@@ -876,6 +879,97 @@ PY
|
|||||||
fi
|
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
|
echo "Unknown command: $cmd" >&2
|
||||||
_help
|
_help
|
||||||
|
Reference in New Issue
Block a user