fix(pulje): review-minors — mark forsvundet under hentning, hjemtur ved kursus-/CP-fejl og Stop alt, ventende marker på fælles taktslag (kø holder), redskabets navn i 'for svag', hk-cache (v1.48.4.0)
This commit is contained in:
@@ -474,8 +474,8 @@ function ADFieldWork.dispatch(adEnv, field, info, decision)
|
||||
local pooled, poolWhy, poolArgs = ADFieldWork.dispatchPool(adEnv, field, info, role, roleAccept)
|
||||
if pooled then return end
|
||||
if poolWhy == "tooWeak" then
|
||||
note(field.id, {reason = {text = string.format("ingen ledig traktor med ≥%.0f hk til %s-redskabet",
|
||||
(poolArgs or {})[1] or 0, tostring(role))}, retryAt = now() + ADFieldWork.NO_RIG_RETRY_MS})
|
||||
note(field.id, {reason = {text = string.format("ingen ledig traktor med ≥%.0f hk til '%s'",
|
||||
(poolArgs or {})[1] or 0, tostring((poolArgs or {})[2] or role))}, retryAt = ADPool.alignedRetry(now(), ADFieldWork.NO_RIG_RETRY_MS)})
|
||||
return
|
||||
end
|
||||
if poolWhy == "noPoolTractor" and why ~= "allBusy" then
|
||||
@@ -485,10 +485,10 @@ function ADFieldWork.dispatch(adEnv, field, info, decision)
|
||||
if #offNetwork > 0 and (why == "cannotDo" or why == "noRig") then
|
||||
-- de eneste med rollen står uden for AD-vejnettet
|
||||
note(field.id, {reason = {text = string.format("ingen %s kan køre til %s — står for langt fra AutoDrive-vejnettet (%s)",
|
||||
tostring(role), tostring(info.markerName), table.concat(offNetwork, ", "))}, retryAt = now() + ADFieldWork.NO_RIG_RETRY_MS})
|
||||
tostring(role), tostring(info.markerName), table.concat(offNetwork, ", "))}, retryAt = ADPool.alignedRetry(now(), ADFieldWork.NO_RIG_RETRY_MS)})
|
||||
return
|
||||
end
|
||||
note(field.id, {reason = {key = "spu_field_reason_" .. tostring(why), role = role, args = args}, retryAt = now() + ADFieldWork.NO_RIG_RETRY_MS})
|
||||
note(field.id, {reason = {key = "spu_field_reason_" .. tostring(why), role = role, args = args}, retryAt = ADPool.alignedRetry(now(), ADFieldWork.NO_RIG_RETRY_MS)})
|
||||
-- også i loggen (én gang pr. ændring): før stod grunden kun i fanen, og loggen var tavs (in-game 27/9)
|
||||
local noRigKey = tostring(role) .. ":" .. tostring(why)
|
||||
if lastNoRig[field.id] ~= noRigKey then
|
||||
@@ -1175,12 +1175,18 @@ function ADFieldWork.follow(adEnv, assignment)
|
||||
local hitch = assignment.hitch
|
||||
if not hitch.done then return end
|
||||
ADPool.release(assignment)
|
||||
if info == nil or field == nil then
|
||||
-- marken findes ikke længere (fx solgt): redskabet tilbage, traktoren hjem
|
||||
ADFieldWork.release(assignment)
|
||||
if hitch.ok then ADHitch.returnHome(adEnv, vehicle) end
|
||||
return
|
||||
end
|
||||
if not hitch.ok then
|
||||
-- koblingen fejlede: den skyldige i karantæne (kom traktoren ikke frem, er det traktoren), hjem, prøv igen
|
||||
local blamed = ADPool.failureBlames(hitch.detail) == "tractor" and assignment.vehicleId or assignment.pool.implementId
|
||||
ADPool.quarantine(blamed, now())
|
||||
ADFieldWork.release(assignment)
|
||||
note(assignment.fieldId, {retryAt = now() + ADFieldWork.NO_RIG_RETRY_MS,
|
||||
note(assignment.fieldId, {retryAt = ADPool.alignedRetry(now(), ADFieldWork.NO_RIG_RETRY_MS),
|
||||
reason = {text = string.format("kunne ikke koble '%s' på (%s) — prøver et andet om lidt",
|
||||
tostring(assignment.pool.implementName), tostring(hitch.detail))}})
|
||||
local park = parkMarkerId(adEnv, vehicle)
|
||||
@@ -1251,6 +1257,7 @@ function ADFieldWork.follow(adEnv, assignment)
|
||||
elseif assignment.phase == "waitingCourse" then
|
||||
if now() - assignment.since > ADFieldWork.COURSE_WAIT_MS then
|
||||
ADFieldWork.release(assignment)
|
||||
ADHitch.returnHome(adEnv, vehicle)
|
||||
fail(assignment.fieldId, "multi-tool: lederens kursus kom ikke (3 min)")
|
||||
elseif coursesOf(field.id)[field.stage] ~= nil then
|
||||
beginWork(adEnv, field, info, assignment)
|
||||
@@ -1259,6 +1266,7 @@ function ADFieldWork.follow(adEnv, assignment)
|
||||
local generating = assignment.handle ~= nil and assignment.handle.generating == true
|
||||
if ADFieldJobs.startTimedOut(now() - assignment.since, generating) then
|
||||
ADFieldWork.release(assignment)
|
||||
ADHitch.returnHome(adEnv, vehicle)
|
||||
fail(assignment.fieldId, generating and "Courseplay blev ikke færdig med kurset (5 min)" or "Courseplay svarede ikke (60 s)")
|
||||
end
|
||||
elseif assignment.phase == "working" then
|
||||
@@ -1290,8 +1298,10 @@ function ADFieldWork.stopAllAssignments(adEnv)
|
||||
for _, assignment in ipairs(list) do
|
||||
pcall(stopAd, assignment.vehicle)
|
||||
pcall(ADCpBridge.stop, assignment.vehicle)
|
||||
table.insert(stopped, {vehicle = assignment.vehicle, manual = assignment.manual == true})
|
||||
ADFieldWork.release(assignment)
|
||||
-- puljeredskab: sættes af på sin plads og traktoren kører hjem (i stedet for almindelig parkering)
|
||||
local okPool, pooled = pcall(ADHitch.returnHome, adEnv, assignment.vehicle)
|
||||
table.insert(stopped, {vehicle = assignment.vehicle, manual = assignment.manual == true, pooled = okPool and pooled == true})
|
||||
end
|
||||
return stopped
|
||||
end
|
||||
@@ -1301,5 +1311,6 @@ function ADFieldWork.stopAll(adEnv, fieldId)
|
||||
pcall(stopAd, assignment.vehicle)
|
||||
ADCpBridge.stop(assignment.vehicle)
|
||||
ADFieldWork.release(assignment)
|
||||
pcall(ADHitch.returnHome, adEnv, assignment.vehicle)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user