планировщик dashing rufus обновляет два разных значения

Я использую тире для отображения некоторой информации, взятой из системы отслеживания ошибок Jira.

Используя плагин: https://gist.github.com/christiangalsterer/1b24f2b42aa39ba63a92

У меня есть ruby-скрипт, который получает количество задач Jira на основе фильтра для каждого фильтра в списке. Затем это переносится на 3 числовых виджета, каждый из которых отображает свой фильтр.

require 'jira'

last_issues = Hash.new(6)

JIRA_FILTERS.each do |filter_data_id, filter|
    SCHEDULER.every '5s', :first_in => 0 do |job|
    last_number_issues = last_issues['filter_data_id']
    client = JIRA::Client.new(JIRA_OPTIONS)
    current_number_issues = client.Issue.jql("filter in (\"#     {filter[:filter]}\")").size
    last_issues['filter_data_id'] = current_number_issues
    send_event(filter_data_id, { current: current_number_issues, last: last_issues['filter_data_id']})
    end
end

У меня проблема в том, что я хочу запланировать часть, которая получает «last_number_issues», каждые 2 часа, а остальную часть — каждые 10 минут, чтобы я мог определить, увеличилось или уменьшилось число за этот 2-часовой период времени.

Любые идеи?


person user2968674    schedule 19.08.2015    source источник
comment
У вас может быть расписание каждые 2 часа и расписание каждые 10 минут. Или иметь одно расписание каждые 10 минут, которое, когда какой-либо таймер превышает 2 часа, сбрасывает таймер и выполняет задание каждые 2 часа.   -  person jmettraux    schedule 20.08.2015
comment
Я пытался два раза, но не мог заставить его работать должным образом   -  person user2968674    schedule 20.08.2015
comment
Если вы хотите получить ответ, вам лучше переработать свой вопрос.   -  person jmettraux    schedule 20.08.2015


Ответы (1)


Вы можете настроить два планировщика в своей работе следующим образом.

SCHEDULER.every '10m', :first_in => 0 do |job|
  # Your code here
end

SCHEDULER.every '2h', :first_in => 0 do |job|
  # Your code here
end

Таким образом, вы можете выделить свою логику для «last_number_issues» в отдельное расписание.

person user1524652    schedule 20.08.2015
comment
Я пробовал это, но не мог заставить его работать. Поскольку я каждый раз просматриваю все фильтры, в итоге все последние обновленные значения были одинаковыми для каждого фильтра. - person user2968674; 21.08.2015