e9212de196
Worker: simplify "context done" checks
2022-04-09 16:57:39 +02:00
d98dbaa333
Worker: implement ffmpeg for frame-to-video conversion on Windows
2022-04-09 16:20:29 +02:00
38aedfe8cc
Worker: make blender-finder find blender.exe and not blender-launcher.exe
...
`blender-launcher.exe` doesn't pipe Blender's stdout/stderr output, so it's
not useful for Flamenco.
2022-04-09 16:16:19 +02:00
0959179225
Worker: redirect stderr to stdout at the right moment
...
It should be done after stdout has been assigned a pipe, and not before.
2022-04-09 16:14:44 +02:00
4181708709
Worker: automatically find Blender on Windows via file association
...
On Windows, when the Manager doesn't explicitly point at a Blender to use,
use the the application associated with `.blend` files instead.
2022-04-09 15:05:34 +02:00
bf47afc32b
Worker: reduce log level of "fetching tasks" message
2022-04-09 12:52:28 +02:00
7a19e2f38d
Manager: use absolute storage path
...
This helps to get things consistent on Windows and Linux. Otherwise a path
like `/some/path` is absolute on one platform but not on the other. This is
mostly for getting the unit tests in this package to work on Windows, but
using absolute paths also helps in clarity of error logging.
2022-04-09 12:03:11 +02:00
7f5978a0f2
Use go install
instead of go get
to install code generators
2022-04-09 11:50:24 +02:00
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
959a235c59
Worker: don't log error when rolling back already-committed transaction
2022-04-08 16:48:28 +02:00
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
e7fc2c6f6e
Worker: add various extra error checks
2022-04-08 14:47:20 +02:00
1960b668aa
Cleanup: remove unused code
2022-04-08 14:47:07 +02:00
2e2205c00e
Manager: return error from sendAPIError()
...
Small bugfix.
2022-04-08 14:46:36 +02:00
2830d1eda8
Update FEATRURES.md
2022-04-08 14:34:38 +02:00
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
96e5e84881
Web: proper updating & sorting of jobs in Tabulator
2022-04-08 13:08:53 +02:00
def1778aa6
Debug echo job: sleep for a shorter time
2022-04-08 12:05:30 +02:00
9ec39b0b41
Web: import moment.js in a way Tabulator can find
2022-04-08 12:05:14 +02:00
06bf3c0482
Cleanup: manager, fix copy-paste from original OpenAPI example code
2022-04-08 12:04:58 +02:00
863ecee954
OAPI: regenerate OpenAPI code
2022-04-08 12:04:34 +02:00
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
89e130c04f
Manager: update tests for inclusion of job name in job updates
2022-04-08 11:59:30 +02:00
3078d22836
Web: format job update timestamp with moment.js
2022-04-07 18:53:16 +02:00
df3f7b44b9
Hook up web interface to job updates
2022-04-07 18:46:09 +02:00
888d93147e
Web: add Tabulator vue component
2022-04-07 17:38:48 +02:00
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
0a9f0c43f6
Web: send messages & job updates to the chat window
2022-04-05 17:42:45 +02:00
dcb9eb0bca
Regenerate OpenAPI code to get clean version number
2022-04-05 17:29:25 +02:00
2fb3b4d615
Update README for clarity & to document more about the web frontend
2022-04-05 17:28:19 +02:00
a476f39365
Manager: improve SocketIO event handling & logging
2022-04-05 16:34:32 +02:00
fdab07d987
Worker: slight clarification of error message
2022-04-05 16:28:22 +02:00
27e954090c
FEATURES: add 'clean requeue of task when shutting down' to worker list
2022-04-05 16:27:51 +02:00
a715b3bfbe
Manager: connect SocketIO broadcaster with job creation
2022-04-05 16:19:33 +02:00
0c0df41f5d
Job status change system for SocketIO broadcasts
...
Not fully tested yet.
2022-04-05 15:52:55 +02:00
c875745bd4
Manager: better SocketIO error checking & logging
2022-04-05 12:18:50 +02:00
5e5fa57fa4
OAPI: tweak the JS generator to do more what we want
2022-04-04 19:33:46 +02:00
2b1e6c54a8
OAPI: generate Python and JS clients for jobs query endpoint
2022-04-04 18:54:31 +02:00
a35a767ddb
Remove web/manager-api/package-lock.json
...
Apparently it's not generated any more.
2022-04-04 18:53:59 +02:00
781f1d936a
OAPI: add jobs query endpoint
2022-04-04 18:53:19 +02:00
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
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
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
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
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
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
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
979792d17f
Git-ignore the new default Flamenco storage directory
2022-04-01 14:30:44 +02:00
dcc0acd8b0
Cleanup: remove unused import
2022-04-01 14:28:51 +02:00
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