Sybren A. Stüvel
0d2ef98edc
Debugging: add simple render job script
2022-02-21 19:58:29 +01:00
Sybren A. Stüvel
d198e228b7
Manager: perform variable replacement on scheduled tasks
2022-02-21 19:58:13 +01:00
Sybren A. Stüvel
8cc9956bb0
Partial design doc for configuration handling
2022-02-21 19:47:52 +01:00
Sybren A. Stüvel
6043609f90
Little debug script for creating simple test job
2022-02-21 19:47:44 +01:00
Sybren A. Stüvel
90a2140b8c
Manager: store task logs to disk
2022-02-21 19:47:07 +01:00
Sybren A. Stüvel
5b0e11acdc
Cleanup: some smaller renames & small function return type change
2022-02-21 19:32:12 +01:00
Sybren A. Stüvel
2e0f44b947
Manager: add missing job type name in job types list
2022-02-21 19:31:37 +01:00
Sybren A. Stüvel
b986fa49d8
Worker: clean up some logging
2022-02-21 19:07:20 +01:00
Sybren A. Stüvel
b1b73de4ee
Manager: Actually load config, and use in a few places
2022-02-21 19:02:07 +01:00
Sybren A. Stüvel
30fd4e52b0
Log GOOS and GOARCH on startup
2022-02-21 19:01:43 +01:00
Sybren A. Stüvel
ae5846b3d9
Manager config: remove 'mode' and change 'variable audience' to custom type
...
The 'variable audience' indicates the audience of a 'task variable'.
2022-02-21 18:50:24 +01:00
Sybren A. Stüvel
12481a47e7
Start of configuration/settings framework, including variable replacement
2022-02-21 18:09:45 +01:00
Sybren A. Stüvel
66ae9b3a64
Job persistence test: create authored job with explicit status
2022-02-21 18:04:52 +01:00
Sybren A. Stüvel
e5e466931b
Worker: better way to get array command parameters
2022-02-21 18:04:17 +01:00
Sybren A. Stüvel
ef2bbd2845
Unified Command field names
...
Some parts of Flamenco had a Command consist of "name + settings", and
other parts used "type + parameters" (with the same semantics). This is
now unified to "name + parameters".
2022-02-21 18:03:51 +01:00
Sybren A. Stüvel
6a7545f334
Check author.Task() parameters
...
Check author.Task() parameters, and refuse tasks with empty name or type.
2022-02-21 15:49:23 +01:00
Sybren A. Stüvel
e03e111603
Cleanup: move license declaration comment
2022-02-21 15:42:15 +01:00
Sybren A. Stüvel
1756369b70
Cleanup: add comments
2022-02-21 15:41:00 +01:00
Sybren A. Stüvel
6bd1a86337
Start of DB initialisation functions
...
Not properly working yet
2022-02-21 15:25:56 +01:00
Sybren A. Stüvel
df5e990693
Update install instructions for Windows
2022-02-21 15:24:39 +01:00
Sybren A. Stüvel
d50efa87ed
Don't run go generate
with make test
...
`go generate` is taking quite some time now, so just run when necessary.
2022-02-19 14:39:43 +01:00
Sybren A. Stüvel
bb53cc1e4a
Task log storage service
2022-02-18 18:19:35 +01:00
Sybren A. Stüvel
77c5650665
Cleanup: move imports to the right place
2022-02-18 17:25:20 +01:00
Sybren A. Stüvel
5b4625b5f9
Rename logging.go to zerolog.go
2022-02-18 11:58:18 +01:00
Sybren A. Stüvel
9eaae2451b
Rename command_exe_test.go to command_misc_test.go
2022-02-18 11:45:37 +01:00
Sybren A. Stüvel
00571ad480
Worker: allow float64 for sleep duration
...
The sleep will still be truncated to entire seconds.
2022-02-18 11:45:24 +01:00
Sybren A. Stüvel
f6437be844
Worker: implement fail/completed/log task updates
2022-02-18 11:41:46 +01:00
Sybren A. Stüvel
8424e690ee
Bump Go version to 1.18 for generics support
2022-02-18 11:41:31 +01:00
Sybren A. Stüvel
399c8af750
Correctly handle workers assigned to tasks + simple task updates
2022-02-17 17:30:52 +01:00
Sybren A. Stüvel
31e39e2137
Cleanup: remove fmt.Sprintf from sendAPIError calls
2022-02-17 17:30:27 +01:00
Sybren A. Stüvel
3057a009e7
Worker: better handling of task update errors
2022-02-17 14:02:45 +01:00
Sybren A. Stüvel
0ab8151a92
Move code out of main.go and add better check for OpenAPI paths
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
ff73f325c8
Worker: clearer errors when listener call fails
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
fef0a3cb17
Worker: Remove 3rd party code for adding Basic HTTP auth header
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
66c052d9fd
Move worker config, sign-on, and registration code into worker package
...
This makes the `main.go` file simpler, and not depend on any other files
in the `main` package. For some reason, the debugger really likes this.
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
71edb139dd
Start working on blender-render
command
...
The command doesn't actually execute anything yet.
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
f1ad0a66a8
Makefile: separate build rule for each app
...
These do not run `go generate`, so they're faster but take a bit more care.
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
3723e89f23
Extract commands into a file based on their "command type"
2022-02-17 10:54:34 +01:00
Sybren A. Stüvel
ecd658d50d
Cleanup: shorten filename from ..._executor.go
to ..._exe.go
2022-02-17 10:52:47 +01:00
Sybren A. Stüvel
e539d04320
Cleanup: remove unused code
2022-02-17 10:49:43 +01:00
Sybren A. Stüvel
4f184a546f
Use gomock to test command executor listener
...
This also requires that `TaskID` is no longer a custom type, because that
would cause import cycles. The alternative would be to put the generated
mocks directly into the `worker` package, but I didn't think that was
particularly nice. Maybe this'll be reconsidered later.
2022-02-17 10:47:52 +01:00
Sybren A. Stüvel
270c54fdb7
More status change acks & checks to get stable flow between worker states
2022-02-15 17:46:37 +01:00
Sybren A. Stüvel
c4df62d5d4
Start of sending task updates to Manager
...
This includes a mocking framework for unittests.
2022-02-15 15:58:24 +01:00
Sybren A. Stüvel
9543d6221b
Wrap error with %w
2022-02-15 15:56:54 +01:00
Sybren A. Stüvel
93517549b0
Manager: actually return worker state in /api/worker/state endpoint
2022-02-15 15:56:38 +01:00
Sybren A. Stüvel
d6df00db3e
Worker: Fix code flow in 'asleep' state
2022-02-15 15:56:15 +01:00
Sybren A. Stüvel
dfd55914b2
Worker: keep trying to sign on until we have an answer from the Manager
2022-02-15 11:46:00 +01:00
Sybren A. Stüvel
beda64d7c0
Clean up authentication routine
2022-02-15 11:29:48 +01:00
Sybren A. Stüvel
58619ea6db
Cleanup: go mod tidy
2022-02-15 11:20:54 +01:00
Sybren A. Stüvel
50088b4c94
Save worker info on sign-on (not just on registration)
2022-02-15 10:57:29 +01:00