1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Merge pull request #1020 from guiceolin/add_to_queue_for_scheduled_jobs

Adding 'add to queue' button to the list of scheduled jobs on monitor web interface
This commit is contained in:
Mike Perham 2013-06-23 17:12:37 -07:00
commit 76bef8ff5b
20 changed files with 62 additions and 3 deletions

View file

@ -1,6 +1,6 @@
HEAD HEAD
----------- -----------
- Adding button to move scheduled job to main queue [guiceolin, #1020]
- fix i18n support resetting saved locale when job is retried [#1011] - fix i18n support resetting saved locale when job is retried [#1011]
- log rotation via USR2 now closes the old logger [#1008] - log rotation via USR2 now closes the old logger [#1008]

View file

@ -222,6 +222,17 @@ module Sidekiq
@parent.schedule(at, item) @parent.schedule(at, item)
end end
def add_to_queue
Sidekiq.redis do |conn|
results = conn.zrangebyscore('schedule', score, score)
conn.zremrangebyscore('schedule', score, score)
results.map do |message|
msg = Sidekiq.load_json(message)
Sidekiq::Client.push(msg)
end
end
end
def retry def retry
raise "Retry not available on jobs not in the Retry queue." unless item["failed_at"] raise "Retry not available on jobs not in the Retry queue." unless item["failed_at"]
Sidekiq.redis do |conn| Sidekiq.redis do |conn|

View file

@ -251,9 +251,14 @@ module Sidekiq
post '/scheduled' do post '/scheduled' do
halt 404 unless params['key'] halt 404 unless params['key']
halt 404 unless params['delete']
params['key'].each do |key| params['key'].each do |key|
Sidekiq::ScheduledSet.new.fetch(*parse_params(key)).first.delete job = Sidekiq::ScheduledSet.new.fetch(*parse_params(key)).first
if params['delete']
job.delete
elsif params['add_to_queue']
job.add_to_queue
end
end end
redirect "#{root_path}scheduled" redirect "#{root_path}scheduled"
end end

View file

@ -172,6 +172,18 @@ class TestApi < Minitest::Test
assert_equal 0, q.size assert_equal 0, q.size
end end
it "can move scheduled job to queue" do
job_id = ApiWorker.perform_in(100, 1, 'jason')
job = Sidekiq::ScheduledSet.new.find_job(job_id)
q = Sidekiq::Queue.new
job.add_to_queue
queued_job = q.find_job(job_id)
refute_nil queued_job
assert_equal queued_job.jid, job_id
job = Sidekiq::ScheduledSet.new.find_job(job_id)
assert_nil job
end
it 'can find job by id in sorted sets' do it 'can find job by id in sorted sets' do
job_id = ApiWorker.perform_in(100, 1, 'jason') job_id = ApiWorker.perform_in(100, 1, 'jason')
job = Sidekiq::ScheduledSet.new.find_job(job_id) job = Sidekiq::ScheduledSet.new.find_job(job_id)

View file

@ -178,6 +178,22 @@ class TestWeb < Minitest::Test
end end
end end
it "can move scheduled to default queue" do
params = add_scheduled
Sidekiq.redis do |conn|
assert_equal 1, conn.zcard('schedule')
assert_equal 0, conn.zcard('default')
post '/scheduled', 'key' => [job_params(*params)], 'add_to_queue' => 'AddToQueue'
assert_equal 302, last_response.status
assert_equal 'http://example.org/scheduled', last_response.header['Location']
assert_equal 0, conn.zcard('schedule')
get '/queues/default'
assert_equal 200, last_response.status
assert_match /#{params[0]['args'][2]}/, last_response.body
end
end
it 'can retry all retries' do it 'can retry all retries' do
msg, score = add_retry msg, score = add_retry
add_retry add_retry

View file

@ -24,6 +24,7 @@ da:
ShowAll: Vis alle ShowAll: Vis alle
CurrentMessagesInQueue: Nuværende beskeder i <span class='title'>%{queue}</span> CurrentMessagesInQueue: Nuværende beskeder i <span class='title'>%{queue}</span>
Delete: Slet Delete: Slet
AddToQueue: Tilføj til kø
AreYouSureDeleteJob: Er du sikker på at du vil slette dette job? AreYouSureDeleteJob: Er du sikker på at du vil slette dette job?
AreYouSureDeleteQueue: Er du sikker på at du vil slette %{queue} køen? AreYouSureDeleteQueue: Er du sikker på at du vil slette %{queue} køen?
Queues: Køer Queues: Køer

View file

@ -24,6 +24,7 @@ de:
ShowAll: Alle anzeigen ShowAll: Alle anzeigen
CurrentMessagesInQueue: Aktuelle Nachrichten in <span class='title'>%{queue}</span> CurrentMessagesInQueue: Aktuelle Nachrichten in <span class='title'>%{queue}</span>
Delete: Löschen Delete: Löschen
AddToQueue: Add to queue
AreYouSureDeleteJob: Möchtest du diesen Job wirklich löschen? AreYouSureDeleteJob: Möchtest du diesen Job wirklich löschen?
AreYouSureDeleteQueue: Möchtest du %{queue} wirklich löschen? AreYouSureDeleteQueue: Möchtest du %{queue} wirklich löschen?
Queues: Warteschlangen Queues: Warteschlangen

View file

@ -26,6 +26,7 @@ en: # <---- change this to your locale code
ShowAll: Show All ShowAll: Show All
CurrentMessagesInQueue: Current messages in <span class='title'>%{queue}</span> CurrentMessagesInQueue: Current messages in <span class='title'>%{queue}</span>
Delete: Delete Delete: Delete
AddToQueue: Add to queue
AreYouSureDeleteJob: Are you sure you want to delete this job? AreYouSureDeleteJob: Are you sure you want to delete this job?
AreYouSureDeleteQueue: Are you sure you want to delete the %{queue} queue? AreYouSureDeleteQueue: Are you sure you want to delete the %{queue} queue?
Queues: Queues Queues: Queues

View file

@ -24,6 +24,7 @@ es:
ShowAll: Mostrar Todo ShowAll: Mostrar Todo
CurrentMessagesInQueue: Mensajes actualmente en <span class='title'>%{queue}</span> CurrentMessagesInQueue: Mensajes actualmente en <span class='title'>%{queue}</span>
Delete: Eliminar Delete: Eliminar
AddToQueue: Añadir a fila
AreYouSureDeleteJob: ¿Estás seguro de eliminar este trabajo? AreYouSureDeleteJob: ¿Estás seguro de eliminar este trabajo?
AreYouSureDeleteQueue: ¿Estás seguro de eliminar la fila %{queue}? AreYouSureDeleteQueue: ¿Estás seguro de eliminar la fila %{queue}?
Queues: Filas Queues: Filas

View file

@ -24,6 +24,7 @@ fr:
ShowAll: Montrer Tout ShowAll: Montrer Tout
CurrentMessagesInQueue: Messages actuellement dans <span class='title'>%{queue}</span> CurrentMessagesInQueue: Messages actuellement dans <span class='title'>%{queue}</span>
Delete: Supprimer Delete: Supprimer
AddToQueue: Ajouter à la liste
AreYouSureDeleteJob: Êtes-vous certain de vouloir supprimer cette tâche? AreYouSureDeleteJob: Êtes-vous certain de vouloir supprimer cette tâche?
AreYouSureDeleteQueue: Êtes-vous certain de vouloir supprimer la file %{queue}? AreYouSureDeleteQueue: Êtes-vous certain de vouloir supprimer la file %{queue}?
Queues: Queues Queues: Queues

View file

@ -24,6 +24,7 @@ it:
ShowAll: Mostra tutti ShowAll: Mostra tutti
CurrentMessagesInQueue: Messaggi in <span class='title'>%{queue}</span> CurrentMessagesInQueue: Messaggi in <span class='title'>%{queue}</span>
Delete: Cancella Delete: Cancella
AddToQueue: Aggiungi a coda
AreYouSureDeleteJob: Sei sicuro di voler cancellare questo lavoro? AreYouSureDeleteJob: Sei sicuro di voler cancellare questo lavoro?
AreYouSureDeleteQueue: Sei sicuro di voler cancellare la coda %{queue}? AreYouSureDeleteQueue: Sei sicuro di voler cancellare la coda %{queue}?
Queues: Code Queues: Code

View file

@ -25,6 +25,7 @@ ja:
ShowAll: 全て見せる ShowAll: 全て見せる
CurrentMessagesInQueue: <span class='title'>%{queue}</span>に メッセージがあります CurrentMessagesInQueue: <span class='title'>%{queue}</span>に メッセージがあります
Delete: 削除 Delete: 削除
AddToQueue: キューに追加
AreYouSureDeleteJob: このジョブを削除しますか? AreYouSureDeleteJob: このジョブを削除しますか?
AreYouSureDeleteQueue: この %{queue} キューを削除しますか? AreYouSureDeleteQueue: この %{queue} キューを削除しますか?
Queues: キュー Queues: キュー

View file

@ -25,6 +25,7 @@ ko:
ShowAll: 모두 보기 ShowAll: 모두 보기
CurrentMessagesInQueue: <span class='title'>%{queue}</span>에 대기 중인 메시지 CurrentMessagesInQueue: <span class='title'>%{queue}</span>에 대기 중인 메시지
Delete: 삭제 Delete: 삭제
AddToQueue: 큐 추가
AreYouSureDeleteJob: 이 작업을 삭제하시겠습니까? AreYouSureDeleteJob: 이 작업을 삭제하시겠습니까?
AreYouSureDeleteQueue: 이 %{queue} 큐를 삭제하시겠습니까? AreYouSureDeleteQueue: 이 %{queue} 큐를 삭제하시겠습니까?
Queues: Queues:

View file

@ -25,6 +25,7 @@ nl:
ShowAll: Toon alle ShowAll: Toon alle
CurrentMessagesInQueue: Aantal berichten in <span class='title'>%{queue}</span> CurrentMessagesInQueue: Aantal berichten in <span class='title'>%{queue}</span>
Delete: Verwijderen Delete: Verwijderen
AddToQueue: Toevoegen aan wachtrij
AreYouSureDeleteJob: Weet u zeker dat u deze taak wilt verwijderen? AreYouSureDeleteJob: Weet u zeker dat u deze taak wilt verwijderen?
AreYouSureDeleteQueue: Weet u zeker dat u wachtrij %{queue} wilt verwijderen? AreYouSureDeleteQueue: Weet u zeker dat u wachtrij %{queue} wilt verwijderen?
Queues: Wachtrijen Queues: Wachtrijen

View file

@ -25,6 +25,7 @@ no:
ShowAll: Vis alle ShowAll: Vis alle
CurrentMessagesInQueue: Nåværende melding i <span class='title'>%{queue}</span> CurrentMessagesInQueue: Nåværende melding i <span class='title'>%{queue}</span>
Delete: Slett Delete: Slett
AddToQueue: Legg til i kø
AreYouSureDeleteJob: Er du sikker på at du vil slette denne jobben? AreYouSureDeleteJob: Er du sikker på at du vil slette denne jobben?
AreYouSureDeleteQueue: Er du sikker på at du vil slette køen %{queue}? AreYouSureDeleteQueue: Er du sikker på at du vil slette køen %{queue}?
Queues: Køer Queues: Køer

View file

@ -24,6 +24,7 @@ pl:
ShowAll: Pokaż wszystko ShowAll: Pokaż wszystko
CurrentMessagesInQueue: Aktualne wiadomości w kolejce <span class='title'>%{queue}</span> CurrentMessagesInQueue: Aktualne wiadomości w kolejce <span class='title'>%{queue}</span>
Delete: Usuń Delete: Usuń
AddToQueue: dodaj do kolejki
AreYouSureDeleteJob: Czy na pewno usunąć to zadanie? AreYouSureDeleteJob: Czy na pewno usunąć to zadanie?
AreYouSureDeleteQueue: Czy na pewno usunąć kolejkę %{queue}? AreYouSureDeleteQueue: Czy na pewno usunąć kolejkę %{queue}?
Queues: Kolejki Queues: Kolejki

View file

@ -25,6 +25,7 @@
ShowAll: Mostrar todos ShowAll: Mostrar todos
CurrentMessagesInQueue: Mensagens atualmenta na <span class='title'>%{queue}</span> CurrentMessagesInQueue: Mensagens atualmenta na <span class='title'>%{queue}</span>
Delete: Apagar Delete: Apagar
AddToQueue: Adicionar à fila
AreYouSureDeleteJob: Deseja deletar esta tarefa? AreYouSureDeleteJob: Deseja deletar esta tarefa?
AreYouSureDeleteQueue: Deseja deletar a %{queue} fila? AreYouSureDeleteQueue: Deseja deletar a %{queue} fila?
Queues: Filas Queues: Filas

View file

@ -24,6 +24,7 @@ pt:
ShowAll: Mostrar todos ShowAll: Mostrar todos
CurrentMessagesInQueue: Mensagens na fila <span class='title'>%{queue}</span> CurrentMessagesInQueue: Mensagens na fila <span class='title'>%{queue}</span>
Delete: Apagar Delete: Apagar
AddToQueue: Adicionar à fila
AreYouSureDeleteJob: Tem a certeza que deseja eliminar esta tarefa? AreYouSureDeleteJob: Tem a certeza que deseja eliminar esta tarefa?
AreYouSureDeleteQueue: Tem a certeza que deseja eliminar a fila %{queue}? AreYouSureDeleteQueue: Tem a certeza que deseja eliminar a fila %{queue}?
Queues: Filas Queues: Filas

View file

@ -24,6 +24,7 @@ ru:
ShowAll: Показать все ShowAll: Показать все
CurrentMessagesInQueue: Текущие сообщения в <span class='title'>%{queue}</span> CurrentMessagesInQueue: Текущие сообщения в <span class='title'>%{queue}</span>
Delete: Удалить Delete: Удалить
AddToQueue: Добавить в очередь
AreYouSureDeleteJob: Вы уверены в том, что хотите удалить задание? AreYouSureDeleteJob: Вы уверены в том, что хотите удалить задание?
AreYouSureDeleteQueue: Вы уверены в том, что хотите удалить очередь %{queue}? AreYouSureDeleteQueue: Вы уверены в том, что хотите удалить очередь %{queue}?
Queues: Очереди Queues: Очереди

View file

@ -26,5 +26,6 @@ header.row
td= msg['class'] td= msg['class']
td= display_args(msg['args']) td= display_args(msg['args'])
input.btn.btn-danger.pull-right type="submit" name="delete" value="#{t('Delete')}" input.btn.btn-danger.pull-right type="submit" name="delete" value="#{t('Delete')}"
input.btn.btn-danger.pull-right type="submit" name="add_to_queue" value="#{t('AddToQueue')}"
- else - else
.alert.alert-success = t('NoScheduledFound') .alert.alert-success = t('NoScheduledFound')