/
bear
/
opencorpora
Обзор
Документация
Войти
/
bear
/
opencorpora
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/tokenizer/cronrunner.pl
24 строки
492 B
Alexey Surikov
cronjob wrapper, take 2
03 мар 2012, 19:58
03 мар 2012, 19:58
8ca8d36
Код
Авторство
О чём код?
#!/usr/bin/env perl use strict; use warnings; my $cmd = shift or exit print qq{Usage: cronrunner.pl "cmd --args"}; my @pieces = grep defined, (split / /, $cmd)[0, 1]; my $file = (grep -e $_, @pieces)[0]; my $lock; if(defined $file) { $file = (split '/', $file)[-1]; $lock = "/var/lock/$file.lock"; } else { $lock = "/var/lock/$pieces[0].lock"; } system qq{flock --exclusive --non-block $lock --command "$cmd"} and exit print "Failed to acquire run lock: $!"; exit 0;