Implement the API function to mass-mark jobs for deletion, based on
their 'updated_at' timestamp.
Note that the `last_updated_max` parameter is rounded up to entire
seconds. This may mark more jobs for deletion than you expect, if their
`updated_at` timestamps differ by less than a second.
Reorder from name/type/priority/updated to name/updated/priority/type.
The new ordering moves the more important info into (according to Blender
Studio) view when the job table is narrow.
GORM Automigration created a separate `job_storage_infos` table (because
we used it wrong, to be fair), which is actually only used as an
embedded struct in the `jobs` table. This means this table itself can be
dropped.
Replace GORM's auto-migration with Goose. The latter uses hand-written
SQL queries to apply database schema changes, which is safer and easier to
understand than what GORM is doing.
Now the Worker and the Manager share the same database initialisation
code (enabling foreign key constraints + write-ahead logging).
The foreign key constraints were already enabled before, but now it's done
with (a copy of) the same code as the Manager.
The tests were already made timezone-independent, but in a way that assumed
the day would still be the same and only the time would be different.
Now that assumption is removed as well.
- Describe how to enable/disable the Shaman in more detail,
- adjust the link to Stack Exchange w.r.t. SAMBA & symlinks, and
- include a table of contents at the top of the page.
Add a button to the tags table to delete worker tags. Each tag now has
its own 'delete' button.
This replaces the single 'delete' button above the table, where a tag
would first have to be selected and then that 'delete' button pressed.
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104256
Add a bit more documentation about the lack of ffmpeg on macOS/arm64 builds
and include a text file in the download package for that platform to
signal where any ffmpeg binary should be placed.
For the hands-on class, there will be a special build of Flamenco. It
disables Shaman on all platforms (for uniformity for all participants)
and hard-codes `localhost` as URL for the Workers (to prevent
participants' Workers from finding each other's Managers).
The special build of Flamenco will be done on a separate branch
(`bcon-2023`), but the website should stay for longer, and thus this
commit is on the `main` branch.
At least for the experimental packages, there should be a link to the
changelog. For release versions we should maybe have something nicer; at
least it should link to the changelog for that particular version, instead
of just the top of the file.
These aren't linked from the download page yet, as they are missing an
FFmpeg binary. Still, having this build here at least allows people to
download it and put in their own (or configure that particular worker to
not run ffmpeg tasks).
These packages will not include FFmpeg at the moment, as there doesn't
seem to be a version that's built for that architecture and linked from
ffmpeg.org as an "officially approved" binary.
Symbolic links on Windows require some special user privilege, and
Shaman can now check for this at startup. Hopefully this helps in guiding
people towards a working Shaman system.