Prevent inactivityTimeout from being smaller than permitted_execution_time
This commit is contained in:
@ -29,8 +29,9 @@ class Runner::Strategy::DockerContainerPool < Runner::Strategy
|
|||||||
|
|
||||||
def self.request_from_management(environment)
|
def self.request_from_management(environment)
|
||||||
url = "#{config[:url]}/docker_container_pool/get_container/#{environment.id}"
|
url = "#{config[:url]}/docker_container_pool/get_container/#{environment.id}"
|
||||||
|
inactivity_timeout = [config[:unused_runner_expiration_time], environment.permitted_execution_time].max
|
||||||
body = {
|
body = {
|
||||||
inactivity_timeout: config[:unused_runner_expiration_time].seconds,
|
inactivity_timeout: inactivity_timeout.to_i.seconds,
|
||||||
}
|
}
|
||||||
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Requesting new runner at #{url}" }
|
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Requesting new runner at #{url}" }
|
||||||
response = Faraday.post url, body
|
response = Faraday.post url, body
|
||||||
@ -191,8 +192,9 @@ class Runner::Strategy::DockerContainerPool < Runner::Strategy
|
|||||||
|
|
||||||
def reset_inactivity_timer
|
def reset_inactivity_timer
|
||||||
url = "#{self.class.config[:url]}/docker_container_pool/reuse_container/#{container.id}"
|
url = "#{self.class.config[:url]}/docker_container_pool/reuse_container/#{container.id}"
|
||||||
|
inactivity_timeout = [self.class.config[:unused_runner_expiration_time], @execution_environment.permitted_execution_time].max
|
||||||
body = {
|
body = {
|
||||||
inactivity_timeout: self.class.config[:unused_runner_expiration_time].seconds,
|
inactivity_timeout: inactivity_timeout.to_i.seconds,
|
||||||
}
|
}
|
||||||
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Resetting inactivity timer at #{url}" }
|
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Resetting inactivity timer at #{url}" }
|
||||||
Faraday.post url, body
|
Faraday.post url, body
|
||||||
|
@ -33,9 +33,10 @@ class Runner::Strategy::Poseidon < Runner::Strategy
|
|||||||
|
|
||||||
def self.request_from_management(environment)
|
def self.request_from_management(environment)
|
||||||
url = "#{config[:url]}/runners"
|
url = "#{config[:url]}/runners"
|
||||||
|
inactivity_timeout = [config[:unused_runner_expiration_time], environment.permitted_execution_time].max
|
||||||
body = {
|
body = {
|
||||||
executionEnvironmentId: environment.id,
|
executionEnvironmentId: environment.id,
|
||||||
inactivityTimeout: config[:unused_runner_expiration_time].seconds,
|
inactivityTimeout: inactivity_timeout.to_i.seconds,
|
||||||
}
|
}
|
||||||
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Requesting new runner at #{url}" }
|
Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Requesting new runner at #{url}" }
|
||||||
response = http_connection.post url, body.to_json
|
response = http_connection.post url, body.to_json
|
||||||
|
Reference in New Issue
Block a user