Я использую rb-notify для мониторинга каталога в моих тестах Rspec для проекта Rails. Если файл не найден, inotify продолжается в бесконечном цикле. Есть ли способ заставить его сдаться через 10 секунд.
@notifier = INotify::Notifier.new
@notifier.watch(DownloadHelpers::PATH.to_s, :create) do |file|
puts "Check: #{file.name}"
if file.name.eql?(File.basename(@filename.to_s))
@pdf = PdfReader.new(@filename)
# Check PDF
expect(@pdf.page_count).to eq(1)
expect(@pdf.pages[1]).to have_text("CONTRACTORS")
@notifier.stop # Stops the infinite loop watch
end
end
visit "/#/contractors_report"
within "#heading" do
expect(page).to have_text("Contractors")
end
click_on("pdf-btn")
@notifier.run # Make sure we finish our thread