0

私は例に従っています: https://github.com/Shopify/dashing/issues/78#issuecomment-14940695

eventmachine.watch_file は、スプレッドシートを変更するたびに「file_deleted」を返します。実際には「file_modified」を返す必要があります

誰かが私を助けることができますか?

require 'roo'

EM.kqueue = EM.kqueue?
file_path = "#{Dir.pwd}/spreadsheet.xls"

def fetch_spreadsheet_data(path)
  s = Roo::Excel.new(path)
  send_event('career_score',   { current: s.cell(2, 2) })
end

module Handler
  def file_modified
    puts "BLAHBLAH1"
    fetch_spreadsheet_data(path)
    puts "BLAHBLAH"
  end
  def file_moved
    puts "Moved"
    fetch_spreadsheet_data(path)
  end
  def file_deleted
    puts "Deleted"
    fetch_spreadsheet_data(path)
  end  
  def unbind
    puts "#{path} monitoring ceased"
  end
end


    fetch_spreadsheet_data(file_path)


    EM.next_tick do
          EM.watch_file(file_path, Handler)
    end
4

1 に答える 1

0

roo は XLS ファイルに問題があるようです。CSVに変換したらうまくいきました。

于 2014-08-07T00:46:30.127 に答える