Ruby Dashing:Jobs的问题(在CentOS服务器上)

时间:2014-09-23 15:40:01

标签: ruby centos sinatra dashing

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

错误的小工具

enter image description here

预期输出

Expected Output

以下是小部件的代码:

.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>

作业中的代码.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查询中使用不同数据的类似小部件。谁能帮我理解为什么?

1 个答案:

答案 0 :(得分:0)

我检查并重新检查了数据,在我的其他工作代码中,我将$value变量定义为$valueX,其中X为数字。我心里想着&#34;也许变量名称由于它们具有相同的名称而感到困惑&#34;所以我将我的代码更改为

工作代码

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

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

Et Voila!找到了!有效。不知道为什么它仍然与名字混淆,但从现在开始,我的名字将是独一无二的!