mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Updated gems, fixed error on Ruby 3.2 (Thread block no longer passes self as argument), fixed API calls not timing out properly, fixed BackgroundWorker not halting properly.
This commit is contained in:
@@ -71,12 +71,15 @@ class W3DHub
|
||||
|
||||
def kill!
|
||||
@thread_pool.each(&:kill)
|
||||
|
||||
logger.info(LOG_TAG) { "Forcefully killed background job worker." }
|
||||
@@alive = false
|
||||
end
|
||||
|
||||
def handle_jobs
|
||||
8.times do |i|
|
||||
Thread.new do |thread|
|
||||
@thread_pool << thread
|
||||
Thread.new do
|
||||
@thread_pool << Thread.current
|
||||
|
||||
while BackgroundWorker.run?
|
||||
job = @parallel_jobs.shift
|
||||
@@ -96,24 +99,28 @@ class W3DHub
|
||||
end
|
||||
end
|
||||
|
||||
while BackgroundWorker.run?
|
||||
job = @jobs.shift
|
||||
Thread.new do
|
||||
@thread_pool << Thread.current
|
||||
|
||||
@busy = true
|
||||
while BackgroundWorker.run?
|
||||
job = @jobs.shift
|
||||
|
||||
begin
|
||||
job&.do
|
||||
rescue => e
|
||||
job&.raise_error(e)
|
||||
@busy = true
|
||||
|
||||
begin
|
||||
job&.do
|
||||
rescue => e
|
||||
job&.raise_error(e)
|
||||
end
|
||||
|
||||
@busy = !@jobs.empty?
|
||||
|
||||
sleep 0.1
|
||||
end
|
||||
|
||||
@busy = !@jobs.empty?
|
||||
|
||||
sleep 0.1
|
||||
logger.info(LOG_TAG) { "Stopped background job worker." }
|
||||
@@alive = false
|
||||
end
|
||||
|
||||
logger.info(LOG_TAG) { "Stopped background job worker." }
|
||||
@@alive = false
|
||||
end
|
||||
|
||||
def add_job(job)
|
||||
|
||||
Reference in New Issue
Block a user