Завершить worker и различить close пула и запрет новой работы

Ответы получены от MySQL через X Protocol. Созданные программой учебные объекты после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
Завершённое заданиеcatalog-export
Сохранённых позиций2
Состояние квитанцииdone
Фактический тип возврата Client::closenull
Старая Session отклоняет запрос с 10056да
Новая Session того же Client прочитала квитанциюда
Приложение прекратило приём новых заданийда
Лишняя запись не созданада
Строки и дополнительные наблюдения
{
    "options": {
        "enabled": true,
        "maxSize": 1,
        "queueTimeOut": 250
    },
    "completed_before_close": {
        "task_name": "catalog-export",
        "items": 2,
        "state": "done"
    },
    "client_close_return": null,
    "client_close_type": "null",
    "old_session_failure": [
        {
            "class": "mysql_xdevapi\\Exception",
            "code": 10056,
            "message": "[10056][HY000] Session closed."
        }
    ],
    "fresh_session_receipt": {
        "task_name": "catalog-export",
        "items": 2,
        "state": "done"
    },
    "accepting_jobs": false,
    "new_job": null
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.