Re: Неблокирующее удаление файлов возможно?
Valery Kholodkov
valery+nginxru на grid.net.ru
Пн Янв 24 20:58:30 MSK 2011
----- Dmitry Dedukhin <dedukhin at mail.ru> wrote:
>
> Перед удалением файла мы открываем его в другом (вспомогательном)
> процессе, затем удаляем в рабочем процессе - он остается открыт в
> вспомогательном процессе и физически удаления в рабочем процессе не
> происходит, т.е. блокировка минимальна.
> Затем мы закрываем файл в вспомогательном процессе - происходит
> физическое удаление, но блокировка вспомогательного процесса нам не
> важна, т.к. он не обслуживает соединения.
> Чисто теоретически, будет ли работать такая схема?
Теоретически будет. Но если уж так хочется асинхронности, то проще написать небольшое fastcgi-приложение и делегировать ему все удаления.
>
> 24.01.2011 12:59, Igor Sysoev пишет:
> > On Mon, Jan 24, 2011 at 12:56:43PM +0300, Михаил Монашёв wrote:
> >
> >> Здравствуйте, Дмитрий.
> >>
> >> в nginx есть aio. Но не знаю, работает ли оно с unlink.
> > Нет, единственное решение - вынос этой операции с специализированный
> > трэд или процесс.
> >
> >> DD> Сейчас, DAV-модуль вызывает unlink и на больших файлах воркер-процесс
> >> DD> блокируется на ощутимое время.
> >> DD> Я не в теме, поэтому спрашиваю у сообщества, есть ли вообще в природе
> >> DD> неблокирующее удаление файлов под *nix?
--
Regards,
Valery Kholodkov
Подробная информация о списке рассылки nginx-ru