Mutex CLI Commands
Detailed reference for mutex-related CLI commands.
Commands
lock
Acquire a mutex lock.
koncli mutex lock <name> [flags]
Flags:
--holder string- Holder identifier (default: auto-detected)--timeout duration- Wait timeout (default: 30s)--ttl duration- Lock TTL (default: 5m)--wait- Wait for lock if not available
Examples:
# Basic lock
koncli mutex lock db-migration
# With custom holder and TTL
koncli mutex lock db-migration --holder $HOSTNAME --ttl 10m
# Wait for lock
koncli mutex lock db-migration --wait --timeout 1m
unlock
Release a mutex lock.
koncli mutex unlock <name> [flags]
Flags:
--holder string- Holder identifier (default: auto-detected)
Examples:
# Unlock
koncli mutex unlock db-migration --holder $HOSTNAME
status
Check mutex status.
koncli mutex status <name> [flags]
Examples:
# Check status
koncli mutex status db-migration
# JSON output
koncli mutex status db-migration -o json
Usage Patterns
Critical Section
#!/bin/bash
MUTEX="file-writer"
HOLDER="$HOSTNAME-$$"
if koncli mutex lock $MUTEX --holder $HOLDER --wait --timeout 30s; then
trap "koncli mutex unlock $MUTEX --holder $HOLDER" EXIT
write-to-shared-file
fi
Database Migration
#!/bin/bash
if koncli mutex lock db-migration --holder $HOSTNAME --timeout 30s; then
trap "koncli mutex unlock db-migration --holder $HOSTNAME" EXIT
run-migrations
else
echo "Migration already running"
fi
Try-Lock Pattern
#!/bin/bash
if koncli mutex lock my-mutex --holder $HOSTNAME --timeout 0; then
trap "koncli mutex unlock my-mutex --holder $HOSTNAME" EXIT
do-critical-work
else
echo "Lock busy, skipping"
fi
Related Commands
- Lease CLI - Lease management
- Semaphore CLI - Semaphore commands
- CLI Overview - Complete CLI reference