From: Vladimir Karpinsky <vkarpinsky@mail.ru> To: ALT Linux Community general discussions <community@lists.altlinux.org> Subject: Re: [Comm] Зеркалирование по расписанию. Date: Mon, 23 Mar 2009 09:55:49 +0300 Message-ID: <49C73275.10209@mail.ru> (raw) In-Reply-To: <49C6974F.3060502@kalina.in.ua> Здравствуйте! Yura Kalinichenko пишет: > Vladimir Karpinsky пишет: >> Yura Kalinichenko пишет: >>>> Насколько я понял, --- понял ещё не всё, разбираюсь, --- это не >>>> совсем то. У меня проблема такая: по крону раз в 15 минут >>>> запускается скрипт, пытающийся достучаться до удалённого ресурса и >>>> скачать оттуда данные. Связь, даже когда она есть, терпимая, хуже >>>> другое: 20 часов из 24 нет там нет электричества. Скрипт без связи >>>> отваливается, лок-файл удаляется, всё хорошо. Мне надо отследить >>>> момент, когда связь есть, и уже происходит перекачка данных, а тут >>>> подходит время следующего запуска скрипта: возможны разные >>>> неприятности при одновременной закачке, поэтому повторный скрипт >>>> должен обнаружить блокировку и просто отвалится, не трогая её. >>> Так это и происходит, когда используете для блокировки функцию >>> test_lock. Плюс проверяется - существует ли еще процесс, создавший >>> блокировку, и если нет (напр. был убит по kill -9) - блокировка >>> перехватывается. >> >> Я прошу прощения, а что такое kill -0? kill -l про сигнал 0 молчит... > Ну это в общем-то классика. Этот псевдосигнал используется для проверки > существования процесса. Вот что говорит, к примеру, info kill: Спасибо! Странно, что нет ни в man, ни в kill -l. >> Я до конца не понимаю смысл цикла until: ставится запрет на перезапись >> существующего файла и дальше зацикливаемся в попытке его перезаписать. >> Далее, если kill -0 успешен, > Т.е. лок выставлен, и процесс, его создавший, активен >> то удалять лок-файл не надо, ждём, что он процессе счёта до 10 сам >> уйдёт (?) > Т.е. ожидаем (если нужно) что процесс, заблокировавший ресурс, > завершится сам и тогда мы выставим свою блокировку и начнем свою обработку. >> или мы его убьём в следующей итерации until. > Не его - себя. Если за определенное время процесс, ранее заблокировавший > ресурс, его не освободил - обычно ждать далее не имеет смысла, и мы > выходим в расчете на следующий запуск. Хотя иногда (но не в вашей > ситуации) может иметь смысл ожидать до победного конца. Понял, вроде. >> Полностью согласен, но мои эксперименты с выдёргиванием сетевого шнура >> из компьютера, с котрого уже качает wget, показал, что wget не >> отваливается, несмотря на наличие таймаутов. > Странно. Только что проверил: wget --timeout=3 -c 'http://...' > благополучно разрывается через 3 сек. после выдергивания шнура либо > укладывания интерфейса. Попробую ещё раз на днях... Ставил ключи -t 5 -T 5: т.е. 5 попыток по 5 секунд. У меня не отваливался wget, только если сеть рвалась уже имеено в момент закачки. Во всех остальных случаях (подключение, получение списка и т.п.) всё отваливалось нормально. -- С уважением, Владимир.
next prev parent reply other threads:[~2009-03-23 6:55 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-12-10 9:34 Vladimir Karpinsky 2008-12-10 9:53 ` Yuri Bushmelev 2008-12-10 9:56 ` Alexey Borovskoy 2008-12-10 10:43 ` Vladimir Karpinsky 2008-12-10 13:16 ` Alexey Borovskoy 2008-12-10 15:18 ` Vladimir Karpinsky 2009-03-21 20:27 ` Vladimir Karpinsky 2009-03-21 21:57 ` Yura Kalinichenko 2009-03-22 6:51 ` Vladimir Karpinsky 2009-03-22 16:38 ` Yura Kalinichenko 2009-03-22 18:51 ` Vladimir Karpinsky 2009-03-22 19:53 ` Yura Kalinichenko 2009-03-23 6:55 ` Vladimir Karpinsky [this message] 2009-03-23 7:20 ` Andrey Rahmatullin 2009-03-25 19:29 ` Vladimir Karpinsky 2009-03-25 19:32 ` Andrey Rahmatullin 2009-03-25 19:52 ` Vladimir Karpinsky 2009-03-25 21:42 ` Yura Kalinichenko 2009-03-26 5:50 ` Vladimir Karpinsky 2009-03-26 10:06 ` Sergey Vlasov 2009-03-26 18:21 ` Yura Kalinichenko 2008-12-10 17:00 ` Vladimir Karpinsky 2008-12-10 17:18 ` Denis Nazarov 2008-12-10 17:36 ` Vladimir Karpinsky 2008-12-10 19:24 ` Sergey Vlasov 2008-12-11 5:40 ` Vladimir Karpinsky 2008-12-13 12:19 ` Vladimir Karpinsky 2008-12-13 13:28 ` Костарев Алексей 2008-12-13 15:53 ` Vladimir Karpinsky 2008-12-14 17:37 ` Michael Shigorin 2008-12-14 18:49 ` Vladimir Karpinsky 2008-12-15 7:33 ` Костарев Алексей 2008-12-15 7:58 ` Vladimir Karpinsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=49C73275.10209@mail.ru \ --to=vkarpinsky@mail.ru \ --cc=community@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git