Skip to content

Commit

Permalink
Fixes #34344 - Add support for halting
Browse files Browse the repository at this point in the history
  • Loading branch information
adamruzicka committed Jul 28, 2022
1 parent ed2ec14 commit 77da370
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
10 changes: 2 additions & 8 deletions app/controllers/foreman_tasks/tasks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,15 @@ def resume

def unlock
if @dynflow_task.paused?
unlock_task(@dynflow_task)
@dynflow_task.halt
render json: { statusText: 'OK' }
else
render json: {}, status: :bad_request
end
end

def force_unlock
unlock_task(@dynflow_task)
@dynflow_task.halt
render json: { statusText: 'OK' }
end

Expand All @@ -92,12 +92,6 @@ def resource_class

private

def unlock_task(task)
task.state = :stopped
task.locks.destroy_all
task.save!
end

def respond_with_tasks(scope)
@tasks = filter(scope, paginate: false).with_duration
csv_response(@tasks, [:id, :action, :state, :result, 'started_at.in_time_zone', 'ended_at.in_time_zone', :duration, :username], ['Id', 'Action', 'State', 'Result', 'Started At', 'Ended At', 'Duration', 'User'])
Expand Down
4 changes: 4 additions & 0 deletions app/models/foreman_tasks/task/dynflow_task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,10 @@ def self.model_name
superclass.model_name
end

def halt
::ForemanTasks.dynflow.world.halt(external_id)
end

private

def string_to_time(zone, time)
Expand Down
2 changes: 1 addition & 1 deletion foreman-tasks.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ same resource. It also optionally provides Dynflow infrastructure for using it f
s.test_files = `git ls-files test`.split("\n")
s.extra_rdoc_files = Dir['README*', 'LICENSE']

s.add_dependency "dynflow", '>= 1.6.0'
s.add_dependency "dynflow", '>= 1.7.0'
s.add_dependency "get_process_mem" # for memory polling
s.add_dependency "parse-cron", '~> 0.1.4'
s.add_dependency "sinatra" # for Dynflow web console
Expand Down

0 comments on commit 77da370

Please sign in to comment.