1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/operations
catborise 2991afc9b9 fix(claims): a request's claim no longer blocks once its process has ended
A request removes its transient claims in a finally. A gunicorn worker
that exits past its timeout ends its other threads' requests too, and an
OOM kill or a container restart ends all of them, so their claims stayed
until they expired 11 minutes later. A VM delete killed this way held
its compute exclusively: every VM action, job and list refresh on that
compute was refused as busy, and nothing in the panel could clear it.

The holder now names the installation by its node id (as the worker
does), which stays the same when the container is recreated, instead of
the hostname. A conflicting claim whose holder is a process of this
installation that no longer runs is removed during admission. A claim
of another installation, or of a PID that is in use again, still waits
for its expiry.
2026-11-06 09:05:06 +03:00
..
api feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
management feat(operations): the job worker 2026-10-14 23:27:57 +03:00
migrations feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
static/operations feat(operations): the job panel and job pages speak the page's language 2026-11-02 23:33:34 +03:00
templates/operations feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
templatetags feat(operations): the job panel and job pages speak the page's language 2026-11-02 23:33:34 +03:00
tests fix(claims): a request's claim no longer blocks once its process has ended 2026-11-06 09:05:06 +03:00
__init__.py feat(operations): job, claim and worker lease models 2026-10-14 23:27:57 +03:00
apps.py feat(operations): job, claim and worker lease models 2026-10-14 23:27:57 +03:00
claims.py fix(claims): a request's claim no longer blocks once its process has ended 2026-11-06 09:05:06 +03:00
jobs.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
models.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
urls.py feat(operations): jobs page 2026-10-14 23:27:57 +03:00
utils.py fix(operations): a job refused by its checks in the worker says why 2026-11-05 16:28:29 +03:00
views.py feat(operations): a job's error and warning show in the reader's language 2026-11-02 23:49:45 +03:00
worker.py fix(worker): a database error skips a tick instead of ending the worker 2026-11-06 09:02:54 +03:00