Sybren A. Stüvel
cb494a4c03
Made go-sqlite a direct dependency
2022-04-11 11:42:46 +02:00
Sybren A. Stüvel
e9212de196
Worker: simplify "context done" checks
2022-04-09 16:57:39 +02:00
Sybren A. Stüvel
d98dbaa333
Worker: implement ffmpeg for frame-to-video conversion on Windows
2022-04-09 16:20:29 +02:00
Sybren A. Stüvel
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
Sybren A. Stüvel
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
Sybren A. Stüvel
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
Sybren A. Stüvel
bf47afc32b
Worker: reduce log level of "fetching tasks" message
2022-04-09 12:52:28 +02:00
Sybren A. Stüvel
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
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