Замок на задачу — никаких двойных запусков

Сценарий ставит отметку «занято» в Redis на время длинной работы: второй запуск видит её, останавливается с понятной ошибкой и не портит данные.

  • Одновременно работает только один запуск
  • Данные не задваиваются
  • Второй запуск падает понятно, а не молча
  • У замка есть срок — зависшая задача не блокирует всё