Rails为不同的时间间隔设置cronjob

时间:2015-12-30 08:40:09

标签: ruby-on-rails cron

你好我正在取代不同国家的时间,就像我在我的代码中所做的那样现在我想以这样的方式设置一个cron作业,以便在一个特定的时间间隔内服务应该开始,例如当在INDIA时间是5:00时服务将开始和美国和中国一样继续在纽约它将是5服务将开始和中国相同..我不知道如何使用那个时间。我可以获取各个国家/地区的时间,但无法在特定时间间隔内拨打该服务

s = Rufus::Scheduler.new
s.every '1m' do 
    usa = TZInfo::Timezone.get('America/New_York')
    india=TZInfo::Timezone.get('Asia/Kolkata')
    china=TZInfo::Timezone.get('Asia/Shanghai')

    k = india.now.to_s
    puts k.split(' ')[1]

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了这个问题。您希望能够检测不同国家/地区的当前时间,以及某些"次"在某些国家/地区,您想要触发不同的事件吗?如果是这样,您可以采用以下方式:

s = Rufus::Scheduler.new
s.every '1m' do 
  usa = TZInfo::Timezone.get('America/New_York')
  india=TZInfo::Timezone.get('Asia/Kolkata')
  china=TZInfo::Timezone.get('Asia/Shanghai')

  k = india.now
  puts k.split(' ')[1]

  if k.hour == 5 && k.min == 0
    # do action for india at 5:00
  elsif # another case etc

  end
end