Sybren A. Stüvel
7f5978a0f2
Use go install
instead of go get
to install code generators
2022-04-09 11:50:24 +02:00
Sybren A. Stüvel
cc20b850ec
Worker: separate contexts of upstream buffer
...
The upstream buffer takes care of two things: communication with Flamenco
Manager (first context) and buffering things in a SQLite database (second
context). This commit separates those two contexts, so that shutting down
the application isn't going to prevent buffering things in the database.
2022-04-08 16:49:53 +02:00
Sybren A. Stüvel
959a235c59
Worker: don't log error when rolling back already-committed transaction
2022-04-08 16:48:28 +02:00
Sybren A. Stüvel
f155715d12
Web: re-fetch jobs after reconnecting to backend
...
If the backend connection was lost, and then obtained again, just fetch
all available jobs to ensure the presented data is fresh.
2022-04-08 15:03:04 +02:00
Sybren A. Stüvel
e7fc2c6f6e
Worker: add various extra error checks
2022-04-08 14:47:20 +02:00
Sybren A. Stüvel
1960b668aa
Cleanup: remove unused code
2022-04-08 14:47:07 +02:00
Sybren A. Stüvel
2e2205c00e
Manager: return error from sendAPIError()
...
Small bugfix.
2022-04-08 14:46:36 +02:00
Sybren A. Stüvel
2830d1eda8
Update FEATRURES.md
2022-04-08 14:34:38 +02:00
Sybren A. Stüvel
62ea7dcf1d
Worker: avoid task errors on shutdown
...
When shutting down, the main worker context closes. This causes the
subprocess to be killed, which in turn caused a task execution error. This
now no longer happens, as such errors are expected on shutdown and do not
indicate task failure.
2022-04-08 14:32:25 +02:00
Sybren A. Stüvel
96e5e84881
Web: proper updating & sorting of jobs in Tabulator
2022-04-08 13:08:53 +02:00
Sybren A. Stüvel
def1778aa6
Debug echo job: sleep for a shorter time
2022-04-08 12:05:30 +02:00
Sybren A. Stüvel
9ec39b0b41
Web: import moment.js in a way Tabulator can find
2022-04-08 12:05:14 +02:00
Sybren A. Stüvel
06bf3c0482
Cleanup: manager, fix copy-paste from original OpenAPI example code
2022-04-08 12:04:58 +02:00
Sybren A. Stüvel
863ecee954
OAPI: regenerate OpenAPI code
2022-04-08 12:04:34 +02:00
Sybren A. Stüvel
930d7497d7
OAPI: Better 'SQLITE_BUSY' error handling
...
SQLite can return `SQLITE_BUSY` errors when it's doing too many things at
the same time. This is now improved a bit by setting a 5-second timeout,
during which the SQLite driver will wait for the database to become
available. If that doesn't happen, Flamenco Manager will return a
`503 Service Unavailable` response so that the client knows to back off
a little.
2022-04-08 12:02:30 +02:00
Sybren A. Stüvel
89e130c04f
Manager: update tests for inclusion of job name in job updates
2022-04-08 11:59:30 +02:00
Sybren A. Stüvel
3078d22836
Web: format job update timestamp with moment.js
2022-04-07 18:53:16 +02:00
Sybren A. Stüvel
df3f7b44b9
Hook up web interface to job updates
2022-04-07 18:46:09 +02:00
Sybren A. Stüvel
888d93147e
Web: add Tabulator vue component
2022-04-07 17:38:48 +02:00
Sybren A. Stüvel
528dec9c50
Web: allow setting title of webapp
...
Moving `static/*` to `public/*` actually made Vue pick up our `index.html`,
and allow us to set the app title.
2022-04-07 16:14:29 +02:00
Sybren A. Stüvel
0a9f0c43f6
Web: send messages & job updates to the chat window
2022-04-05 17:42:45 +02:00
Sybren A. Stüvel
dcb9eb0bca
Regenerate OpenAPI code to get clean version number
2022-04-05 17:29:25 +02:00
Sybren A. Stüvel
2fb3b4d615
Update README for clarity & to document more about the web frontend
2022-04-05 17:28:19 +02:00
Sybren A. Stüvel
a476f39365
Manager: improve SocketIO event handling & logging
2022-04-05 16:34:32 +02:00
Sybren A. Stüvel
fdab07d987
Worker: slight clarification of error message
2022-04-05 16:28:22 +02:00
Sybren A. Stüvel
27e954090c
FEATURES: add 'clean requeue of task when shutting down' to worker list
2022-04-05 16:27:51 +02:00
Sybren A. Stüvel
a715b3bfbe
Manager: connect SocketIO broadcaster with job creation
2022-04-05 16:19:33 +02:00
Sybren A. Stüvel
0c0df41f5d
Job status change system for SocketIO broadcasts
...
Not fully tested yet.
2022-04-05 15:52:55 +02:00
Sybren A. Stüvel
c875745bd4
Manager: better SocketIO error checking & logging
2022-04-05 12:18:50 +02:00
Sybren A. Stüvel
5e5fa57fa4
OAPI: tweak the JS generator to do more what we want
2022-04-04 19:33:46 +02:00
Sybren A. Stüvel
2b1e6c54a8
OAPI: generate Python and JS clients for jobs query endpoint
2022-04-04 18:54:31 +02:00
Sybren A. Stüvel
a35a767ddb
Remove web/manager-api/package-lock.json
...
Apparently it's not generated any more.
2022-04-04 18:53:59 +02:00
Sybren A. Stüvel
781f1d936a
OAPI: add jobs query endpoint
2022-04-04 18:53:19 +02:00
Sybren A. Stüvel
99852838d2
OAPI: fix job submission example
...
It now works with the current simple-blend-render compiler script again.
2022-04-04 18:24:50 +02:00
Sybren A. Stüvel
89d00dcba5
Manager: use logger from context instead of constructing a new one
...
This makes the logs more consistent, and any log that's bound to a HTTP
request will have info about that request.
2022-04-04 16:57:41 +02:00
Sybren A. Stüvel
bff5e30421
Worker: use defaults for partial configuration
...
Instead of having a full "defaults OR the loaded config" (where a partial
config file would thus have the nil value for missing properties) the
missing properties now retain their default value.
2022-04-04 16:56:52 +02:00
Sybren A. Stüvel
0f2477370f
Remove SocketIO PoC
...
Remove SocketIO proof of concept, as its code has been integrated into
Flamenco Manager.
2022-04-04 16:27:15 +02:00
Sybren A. Stüvel
96cd064533
JS: failed attempt at connecting to a dynamic endpoint URL
...
It works for the API calls, but fails to forward the URL to the Vue app
instance.
2022-04-01 16:54:47 +02:00
Sybren A. Stüvel
e990603311
OAPI: Add generated JavaScript API client
...
This adds a JS client for the OAPI interface, and introduces the SocketIO
stuff into Flamenco Manager itself.
To build & run:
- in `web/manager-api` run `npm install`
- in `web/manager-api` run `npm link`
- in `web/app` run `npm install`
- in `web/app` run `npm link flamenco-manager`
- in `web/app` run `yarn serve`
This may not be a complete list, but at least some of those steps are
necessary.
2022-04-01 16:40:54 +02:00
Sybren A. Stüvel
80ffc7da5d
OAPI: use GET instead of OPTIONS to get file info from Shaman
...
OPTIONS is used by browser for CORS pre-flight requests.
2022-04-01 15:52:17 +02:00
Sybren A. Stüvel
979792d17f
Git-ignore the new default Flamenco storage directory
2022-04-01 14:30:44 +02:00
Sybren A. Stüvel
dcc0acd8b0
Cleanup: remove unused import
2022-04-01 14:28:51 +02:00
Sybren A. Stüvel
12e6211fc9
Addon: get storage directory from Manager
...
Get the job storage location from the Manager, don't allow editing it, and
don't allow per-scene overrides.
2022-04-01 14:28:43 +02:00
Sybren A. Stüvel
5f16201832
OAPI: expose effective job storage path in configuration API
2022-04-01 14:01:22 +02:00
Sybren A. Stüvel
7214a73e19
Manager: enable Shaman by default, except on Windows
2022-04-01 13:46:51 +02:00
Sybren A. Stüvel
e70dad2177
Manager: unify Flamenco and Shaman storage paths
...
Flamenco Manager now has a "storage path" config option, which will be
used by Shaman if enabled. Now the `{jobs}` implicit variable will always
exist, its value depending on whether Shaman is enabled or not.
2022-04-01 13:43:51 +02:00
Sybren A. Stüvel
f61522f396
Manager: simplify config processing
2022-04-01 13:31:50 +02:00
Sybren A. Stüvel
0284dc4e4d
Manager: move actually-used config options up in the struct
...
There are a bunch of should-be-implemented options commented out, and the
actually-used options shouldn't be in between those.
No functional changes.
2022-04-01 13:02:22 +02:00
Sybren A. Stüvel
ed8c02ad69
Manager: rename settings.go
to config.go
...
The package is named `config` and the struct `Conf`, so `config.go` is just
a more sensible name.
No functional changes.
2022-04-01 12:51:41 +02:00
Sybren A. Stüvel
88fe62ddef
Manager: skip shaman permission unit test on Windows
...
The test was made with umask on UNIX-like systems in mind. It doesn't
make much sense on Windows, at least not in its current form, so it's
better to just explicitly skip it.
2022-03-28 11:33:09 +02:00