我正在尝试从github获取以下代码的示例,这对于我的 Linux/Ubuntu 安装来说似乎是一个死话题。我一直在尝试使用“机械化”从公司内部网中抓取数据,请参阅堆栈问题以了解详细信息。由于我不够聪明,无法解决我的登录问题,我想我会尝试从 Excel 表中提供数据作为解决方法,直到我能弄清楚机械化路线。再一次,我不够聪明,无法让提供的代码在 Linux 上运行,因为我收到以下错误:
`kqueue=': 这个平台不支持 kqueue (EventMachine::Unsupported)
如果我从原始来源中提供的信息中正确理解,则问题是kqueue
Linux 不支持。OP 声明这inotify
是一种替代方法,但我没有找到一个类似的示例,使用它在小部件中显示 Excel。
这是 GitHub 上显示的代码,希望帮助将其转换为在 Linux 上工作:
require 'roo'
EM.kqueue = EM.kqueue?
file_path = "#{Dir.pwd}/spreadsheet.xls"
def fetch_spreadsheet_data(path)
s = Roo::Excel.new(path)
send_event('valuation', { current: s.cell(1, 2) })
end
module Handler
def file_modified
fetch_spreadsheet_data(path)
end
end
fetch_spreadsheet_data(file_path)
EM.next_tick do
EM.watch_file(file_path, Handler)
end