fix(kugetsu): queue daemon improvements - locking, error handling, cmd_delegate enqueue #164

Merged
shoko merged 5 commits from fix/issue-156-queue-fixes into main 2026-04-06 02:06:36 +02:00
Showing only changes of commit dc9d4d7327 - Show all commits

View File

@@ -310,12 +310,31 @@ get_pending_tasks() {
return
fi
find "$QUEUE_ITEMS_DIR" -name "*.json" -type f 2>/dev/null | while read -r file; do
local state=$(python3 -c "import json; print(json.load(open('$file')).get('state', ''))" 2>/dev/null || echo "")
if [ "$state" = "pending" ]; then
cat "$file"
fi
done | head -"$limit"
python3 -c "
import json
import os
import sys
queue_dir = os.environ.get('QUEUE_ITEMS_DIR', '')
limit = int(sys.argv[1]) if len(sys.argv) > 1 else 10
items = []
if os.path.isdir(queue_dir):
for filename in os.listdir(queue_dir):
if filename.endswith('.json'):
filepath = os.path.join(queue_dir, filename)
try:
with open(filepath) as f:
data = json.load(f)
if data.get('state') == 'pending':
items.append(data)
if len(items) >= limit:
break
except:
pass
print(json.dumps(items))
" "$limit"
}
get_queue_stats() {