inotify :: Тайм-аут уведомителя - PullRequest
0 голосов
/ 02 июля 2019

Я использую 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
...