【问题标题】:Ruby Dashing: Issues with Jobs (on a CentOS Server)Ruby Dashing:作业问题(在 CentOS 服务器上)
【发布时间】:2014-11-17 21:42:12
【问题描述】:

我发生了一个奇怪的事件,我的仪表板的列表小部件显示错误数据。这是我的现场 Dashing 小部件的屏幕截图

错误的小部件

预期输出

以下是小部件的代码:

.erb 中的代码

<li data-row="1" data-col="1" data-sizex="2" data-sizey="6">
 <div data-id="facebook_insights" data-view="List" data-unordered="true" data-title="Facebook Insights: Weekly Post Views" data-moreinfo="Updated every 10 seconds"</div>
</li>

job .rb 中的代码

require 'mysql2'

social_count = Hash.new({ value: 0 })
time = Time.new()

date_time1 = Time.new(time.year, time.month, time.day-1)
...

SCHEDULER.every '10s' do

begin

db = Mysql.new(<HOST>,<USER>,<PASS>,<DBNAME>)

mysql1 = "SELECT <VAR> FROM <TABLE> WHERE <VAR> = '#{date_time1}' ORDER BY <VAR> DESC LIMIT 1"
...

result1 = db.query(mysql1)
...

rescue

ensure
 db.close
end

result1.each do |row|
strrow1 = row[0]
$value1 = strrow1.to_i
end
...    

social_count[0] = {label: "1:", value: $value1}
...

send_event('facebook_insights', { items: social_count.values })
end

真正令人困惑的是,这段代码适用于在 SQL 查询中使用不同数据的类似小部件。谁能帮我理解为什么?

【问题讨论】:

    标签: ruby centos sinatra dashing


    【解决方案1】:

    我检查并重新检查了数据,在我的其他工作代码中,我将$value 变量定义为$valueX,其中 X 是数字。我心想“也许变量名由于它们具有相同的名称而变得混乱”,所以我将代码更改为

    工作代码

    result1.each do |row|
    strrow1 = row[0]
    $variable1 = strrow1.to_i
    end
    ...    
    
    social_count[0] = {label: "1:", value: $variable1}
    

    瞧!尤里卡!有效。不知道为什么它仍然与名字混淆,但从现在开始,我的名字将是独一无二的!

    【讨论】:

      猜你喜欢
      • 2019-03-05
      • 2018-06-21
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 2013-11-23
      • 2016-02-13
      • 1970-01-01
      • 2021-10-05
      相关资源
      最近更新 更多