2014-10-09 72 views
0

我想每5分鐘使用一次(ex)0,5,10,15,20 ... 55)json解析網站並輸入我的數據庫..ruby​​,sinatra每當json.parse和輸入Datamapper

和即時處理腳本...

配置/ schedule.rb

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

Rake文件

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 

我想輸入數據庫..

前)每當解析和輸入我的數據庫,並即時處理這個腳本。

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

您交換了文件名,第一個是config/schedule.rb,第二個是rake文件。 – maddin2code 2014-10-10 09:59:07

回答

1

如果你的rake任務是好的,只要配置使用調用它的每五分鐘:

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

但是不要忘了你的服務器上運行whenever命令來更新crontab文件,其負責時間安排的工作。您必須從您的應用程序工作目錄中執行此操作,請閱讀README/doc:https://github.com/javan/whenever