mirror of
https://github.com/System-End/theseus.git
synced 2026-04-19 16:38:18 +00:00
now or later?
This commit is contained in:
parent
0a0547e024
commit
98ea7e3c9d
7 changed files with 19 additions and 10 deletions
|
|
@ -154,7 +154,7 @@ class Letter::BatchesController < BaseBatchesController
|
|||
@batch.letters.each do |letter|
|
||||
letter.mark_mailed! if letter.may_mark_mailed?
|
||||
end
|
||||
User::UpdateTasksJob.perform_now(current_user)
|
||||
User::UpdateTasksJob.perform_later(current_user)
|
||||
redirect_to letter_batch_path(@batch), notice: "All letters have been marked as mailed."
|
||||
else
|
||||
redirect_to letter_batch_path(@batch), alert: "Cannot mark letters as mailed. Batch must be processed."
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class Letter::QueuesController < ApplicationController
|
|||
end
|
||||
limit = params[:limit].presence&.to_i
|
||||
batch = @letter_queue.make_batch(user: current_user, limit:)
|
||||
User::UpdateTasksJob.perform_now(current_user)
|
||||
User::UpdateTasksJob.perform_later(current_user)
|
||||
flash[:success] = "now do something with it!"
|
||||
redirect_to process_letter_batch_path(batch, uft: @letter_queue.user_facing_title, template: @letter_queue.template)
|
||||
end
|
||||
|
|
@ -102,7 +102,7 @@ class Letter::QueuesController < ApplicationController
|
|||
end
|
||||
|
||||
# Update user tasks after marking letters as mailed
|
||||
User::UpdateTasksJob.perform_now(current_user) if marked_count > 0
|
||||
User::UpdateTasksJob.perform_later(current_user) if marked_count > 0
|
||||
|
||||
if failed_letters.any?
|
||||
flash[:alert] = "Marked #{marked_count} letters as mailed, but failed to mark #{failed_letters.count} letters: #{failed_letters.join(", ")}"
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class LettersController < ApplicationController
|
|||
def mark_mailed
|
||||
authorize @letter, :mark_mailed?
|
||||
if @letter.mark_mailed!
|
||||
User::UpdateTasksJob.perform_now(current_user)
|
||||
User::UpdateTasksJob.perform_later(current_user)
|
||||
redirect_to @letter, notice: "Letter has been marked as mailed."
|
||||
else
|
||||
redirect_to @letter, alert: "Could not mark letter as mailed: #{@letter.errors.full_messages.join(", ")}"
|
||||
|
|
|
|||
|
|
@ -7,9 +7,10 @@ module Public
|
|||
|
||||
def show
|
||||
@return_path = public_root_path
|
||||
@letters_data = Rails.cache.fetch("map_data") do
|
||||
# If cache is empty, run the job synchronously as a fallback
|
||||
Public::UpdateMapDataJob.perform_now
|
||||
@letters_data = Rails.cache.read("map_data")
|
||||
if @letters_data.nil?
|
||||
Public::UpdateMapDataJob.perform_later
|
||||
@letters_data = []
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -11,12 +11,15 @@ class TasksController < ApplicationController
|
|||
end
|
||||
|
||||
def refresh
|
||||
User::UpdateTasksJob.perform_now(current_user)
|
||||
User::UpdateTasksJob.perform_later(current_user)
|
||||
redirect_to tasks_path
|
||||
end
|
||||
|
||||
def find_tasks
|
||||
@tasks = Rails.cache.read("user_tasks/#{current_user.id}")
|
||||
@tasks ||= User::UpdateTasksJob.perform_now(current_user)
|
||||
if @tasks.nil?
|
||||
User::UpdateTasksJob.perform_later(current_user)
|
||||
@tasks = []
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
class Public::UpdateMapDataJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
good_job_control_concurrency_with(
|
||||
total_limit: 1,
|
||||
key: "update_map_data"
|
||||
)
|
||||
|
||||
def perform
|
||||
map_data = fetch_recent_letters_data
|
||||
Rails.cache.write("map_data", map_data, expires_in: 1.hour)
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ class Batch < ApplicationRecord
|
|||
event :mark_processed do
|
||||
transitions from: :fields_mapped, to: :processed
|
||||
after do
|
||||
User::UpdateTasksJob.perform_now(user)
|
||||
User::UpdateTasksJob.perform_later(user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue