我希望每5分钟执行一个方法,我在ruby(cron)上实现了它.但它不起作用.我认为我的方法不可行.

日程rb

every 5.minutes do
  runner "Ping.checkPings"
end

发出砰的声响.rb

def checkPings      
  gate =  Net::Ping::External.new("10.10.1.1")
  @monitor_ping = Ping.new()

  if gate.ping?        
    MonitorPing.WAN = true
  else 
    MonitorPing.WAN = false
  end

  @monitor_ping.save      
end

推荐答案

要声明静态方法,请编写...

def self.checkPings
  # A static method
end

... 或

class Myclass extend self

  def checkPings
    # Its static method
  end

end

Ruby相关问答推荐

如何使用 gsub 删除返回字符串中的/和/i?

为什么数组中的 splat 如此昂贵?

如何在 Ruby 中创建可调用属性

while 语句的主体是块吗?

Jekyll 默认安装没有 _layouts 目录

从 ruby​​ 脚本运行另一个 ruby​​ 脚本

构造Ruby的现代方法是什么?

在 Ruby 中导出环境变量

判断Ruby中的目录是否为空

使用正则表达式在第一个逗号之前提取文本

如何在 linux (ubuntu) 上更新 ruby​​?

Ruby字符串上的扫描和匹配有什么区别

理解|| Ruby 中 If 条件中的 OR 运算符

用零填充数字

Ruby - 在模块/类之间共享记录器实例

在 Ruby 中取消定义变量

如何打破Ruby中的外循环?

Ruby总是Round Up

等号 ('=') 放在方法定义中的方法名称之后有什么作用?

让 sidekiq 立即执行作业(job)