Тайминги и блокировки: как избежать «снежного кома» в cron
🤔 Представьте: задача в
Это классическая проблема наложения задач.
Решения:
1.
2.
Ключ
🌐 @helcode | #linux #cron #automation #performance
🤔 Представьте: задача в
cron -е запускается каждые 5 минут, но иногда выполняется 10. Что будет? Через час у вас будет 12 параллельных процессов, грузящих систему!Это классическая проблема наложения задач.
Решения:
1.
timeout: жестко ограничить время выполнения. * * * * * timeout 300 /path/to/script.sh # Остановить через 5 минут2.
flock: поставить блокировку на файл, чтобы скрипт не запускался, если предыдущий экземпляр еще работает. * * * * * /usr/bin/flock -n /tmp/myscript.lock /path/to/script.shКлюч
-n означает «не ждать». Если скрипт уже работает — новый запуск просто проигнорируется. Идеально для защиты от дублирования!🌐 @helcode | #linux #cron #automation #performance
❤3👎1🤔1