ruby,sinatra每当json.parse并输入Datamapper

时间:2014-10-09 11:25:30

标签: ruby cron sinatra datamapper whenever

我希望每隔5分钟(例如)0,5,10,15,20 ... 55)使用json解析网站并输入我的数据库..

立即处理脚本......

配置/ schedule.rb

every '0,5,10,15,20,25,30,35,40,45,50,55 * * * *' do
 rake "do_something"
end

Rakefile

task :do_something do
        <%a = JSON.parse( open("http://named.com/page/ladder/ajax/result.php").read )%>
         <% b=a['times'] %>

        <% c=a['start_point'] %> 

        <% if c == 'first' %>
        <% c='left' %>
        <% else %>
        <% c= 'right' %>
        <% end %>

        <% d=a['ladder_type'] %>

        <% if d == 'type1' %>
        <% d='3' %>
        <% else %>
        <% d= '4' %>
        <% end %>

        <% e=a['answer'] %>
        <% if e == 'EVEN' %>
        <% e='2' %>
            <% else %>
            <% e= '1' %>
            <% end %>

=begin

I want input this result in db.
=end


    end

这是日程表脚本。

a.rb

class Ladder

  include DataMapper::Resource

  property :id, Serial

  property :ladder_type, String 

  property :start_point, String 
  property :times, String 

end

class User

  include DataMapper::Resource

  property :id, Serial

  property :email, String 
  property :password, String 

  property :ladder_type, String 

  property :start_point, String 
  property :times, String 

end

我想要输入数据库..

ex)每当解析并输入我的数据库并立即处理该脚本时。

if u.times == l.times
puts "good"
else
puts "lose"
end

1 个答案:

答案 0 :(得分:1)

如果您的rake任务正常,请使用以下命令配置每隔五分钟调用一次:

every '*/5 * * * *' do
  rake "do_something"
end

但是不要忘记在服务器上运行whenever命令来更新负责时间安排作业的crontab文件。您必须从应用程序工作目录执行此操作,请阅读README / doc:https://github.com/javan/whenever