Class: Pgbus::DeadLetterController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Pgbus::DeadLetterController
- Defined in:
- app/controllers/pgbus/dead_letter_controller.rb
Instance Method Summary collapse
- #discard ⇒ Object
- #discard_all ⇒ Object
- #discard_selected ⇒ Object
- #index ⇒ Object
- #retry ⇒ Object
- #retry_all ⇒ Object
- #show ⇒ Object
Methods inherited from ApplicationController
Instance Method Details
#discard ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 29 def discard queue_name = params[:queue_name].to_s return redirect_to dead_letter_index_path, alert: "Invalid DLQ queue." unless queue_name.end_with?(Pgbus::DEAD_LETTER_SUFFIX) if data_source.(queue_name, params[:id]) redirect_to dead_letter_index_path, notice: "Message discarded." else redirect_to dead_letter_index_path, alert: "Could not discard message." end end |
#discard_all ⇒ Object
45 46 47 48 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 45 def discard_all count = data_source.discard_all_dlq redirect_to dead_letter_index_path, notice: "Discarded #{count} DLQ messages." end |
#discard_selected ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 50 def discard_selected selections = Array(params[:messages]).reject { |s| s[:queue_name].blank? || s[:msg_id].blank? } if selections.empty? redirect_to dead_letter_index_path, alert: t("pgbus.dead_letter.index.none_selected") return end count = 0 selections.each do |sel| queue_name = sel[:queue_name].to_s next unless queue_name.end_with?(Pgbus::DEAD_LETTER_SUFFIX) count += 1 if data_source.(queue_name, sel[:msg_id]) end redirect_to dead_letter_index_path, notice: t("pgbus.dead_letter.index.discarded_selected", count: count) end |
#index ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 5 def index @page = page_param @per_page = per_page @messages = data_source.(page: @page, per_page: @per_page) @total_count = data_source.dlq_total_count @total_pages = (@total_count.to_f / @per_page).ceil render_frame("pgbus/dead_letter/messages_table") if params[:frame] == "list" end |
#retry ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 18 def retry queue_name = params[:queue_name].to_s return redirect_to dead_letter_index_path, alert: "Invalid DLQ queue." unless queue_name.end_with?(Pgbus::DEAD_LETTER_SUFFIX) if data_source.(queue_name, params[:id]) redirect_to dead_letter_index_path, notice: "Message re-enqueued to original queue." else redirect_to dead_letter_index_path, alert: "Could not retry message." end end |
#retry_all ⇒ Object
40 41 42 43 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 40 def retry_all count = data_source.retry_all_dlq redirect_to dead_letter_index_path, notice: "Re-enqueued #{count} DLQ messages." end |
#show ⇒ Object
14 15 16 |
# File 'app/controllers/pgbus/dead_letter_controller.rb', line 14 def show @message = data_source.(params[:id].to_i) end |