Clarify "job etag mismatch" situation

When a submitted job is refused because of a mismatched etag, there is
now a more explanatory error logged on the Manager. The website also has
an entry in the FAQ for this, as I expect more people to run into this
issue when they upgrade Flamenco.
This commit is contained in:
Sybren A. Stüvel 2022-09-01 14:46:22 +02:00
parent 626c146444
commit 46792ee164
4 changed files with 10 additions and 2 deletions

1
.gitignore vendored
View File

@ -33,6 +33,7 @@ __pycache__
web/manager-api/dist/ web/manager-api/dist/
web/static/ web/static/
web/project-website/public/ web/project-website/public/
web/project-website/resources/_gen/
/dist/ /dist/
/tools/ /tools/

View File

@ -94,8 +94,8 @@ func (f *Flamenco) SubmitJob(e echo.Context) error {
authoredJob, err := f.jobCompiler.Compile(ctx, submittedJob) authoredJob, err := f.jobCompiler.Compile(ctx, submittedJob)
switch { switch {
case errors.Is(err, job_compilers.ErrJobTypeBadEtag): case errors.Is(err, job_compilers.ErrJobTypeBadEtag):
logger.Warn().Err(err).Msg("rejecting submitted job, job type etag does not match") logger.Warn().Err(err).Msg("rejecting submitted job because its settings are outdated, refresh the job type")
return sendAPIError(e, http.StatusPreconditionFailed, "rejecting job, job type etag does not match") return sendAPIError(e, http.StatusPreconditionFailed, "rejecting job because its settings are outdated, refresh the job type")
case err != nil: case err != nil:
logger.Warn().Err(err).Msg("error compiling job") logger.Warn().Err(err).Msg("error compiling job")
// TODO: make this a more specific error object for this API call. // TODO: make this a more specific error object for this API call.

View File

@ -6,6 +6,13 @@ weight: 30
This is a list of frequently asked questions, with their answers. It's by no This is a list of frequently asked questions, with their answers. It's by no
means an exhaustive list. means an exhaustive list.
## What do "Error: Cached job type is old" or "job type etag does not match" mean?
This means that you have to click on the little "Refresh" icon next to the job type:
<img src="job-types-refresh.webp" width="396" height="41">
## What's the difference with OpenCue? ## What's the difference with OpenCue?
OpenCue is aimed at a different audience than Flamenco. OpenCue is a large and OpenCue is aimed at a different audience than Flamenco. OpenCue is a large and

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB