]Вы можете наблюдать, какие события передаются в вашу директорию с помощью []inotifywait[
], чтобы проверить, как он ведет себя, когда ваш процесс запущен: [
$ inotifywait -m .
Setting up watches.
Watches established.
]
[]Например, после запуска []touch file[
] в том же каталоге:[
$ inotifywait -m .
Setting up watches.
Watches established.
./ CREATE file
./ OPEN file
./ ATTRIB file
./ CLOSE_WRITE,CLOSE file
]
[]Поскольку между созданием файла и его закрытием существует задержка, после события CREATE, как вы и предполагали, будет пустой файл. Обратите внимание на события, следующие после запуска:[
] [from time import sleep
with open("somefile", 'w') as somefile:
sleep(15)
somefile.write("...")
]
[]поэтому использование события CLOSE_WRITE звучит разумно.[
].Это должно быть хорошо; Это может оставить тесты и тестовые компоненты в неопределенном состоянии, но фактическое приложение не должно быть затронуто.
Это не твердое и быстрое правило, и я не знаком с Guire
, но было бы довольно странно, если сборка зависела от завершения , сделать проверку
, или если чек может потенциально повредить что-то.
Тем не менее, если «принять действительно действительно много времени», вы имеете в виду, кажется, в какой-то момент он остановился, это может не быть хорошим знаком. Позволяя завершению проверки, вероятно, хорошая идея, даже если это займет час или около того.