Sybren A. Stüvel
a9790ec579
API: return job from DB instead of authored job
...
The authored job has tasks & commands in there, which shouldn't be sent
as-is as an API response. Marshalling the task pointers for the
inter-task dependencies would potentially produce quite large responses.
2022-02-14 15:03:17 +01:00
Sybren A. Stüvel
f5254c1c65
Change sleep 'time_in_seconds' to 'duration_in_seconds'
2022-02-14 14:54:03 +01:00
Sybren A. Stüvel
8af041fe44
Cleanup: remove some unused code & add some comments
2022-02-14 14:47:54 +01:00
Sybren A. Stüvel
22f2084e89
Unit tests for 'echo' and 'sleep' commands
2022-02-14 14:47:41 +01:00
Sybren A. Stüvel
ad4313b93f
Untested command runner with 'sleep' and 'echo' commands
2022-02-11 17:09:58 +01:00
Sybren A. Stüvel
61164252da
Cleanup: remove unused code
2022-02-11 16:51:55 +01:00
Sybren A. Stüvel
cf8ba835aa
Added framework for task & command execution
2022-02-11 16:51:28 +01:00
Sybren A. Stüvel
96023932da
SocketIO based chat client as PoC for backend/frontend communication
...
The chat client itself is just a throwaway project. The SocketIO system
will be used to send realtime updates about jobs, tasks, and workers to
the web frontend.
2022-02-11 14:47:26 +01:00
Sybren A. Stüvel
2964f37dce
List of to-be-implemented features
2022-02-01 18:09:47 +01:00
Sybren A. Stüvel
feaf924cec
Task Scheduler: also include job priority in the scheduling
2022-02-01 18:09:35 +01:00
Sybren A. Stüvel
97ab93d996
Initial task scheduler implementation
2022-02-01 17:17:19 +01:00
Sybren A. Stüvel
2ee66af6d4
Prevent tests running in parallel
...
Each test tries to reset the database, which shouldn't happen in parallel.
2022-02-01 17:17:19 +01:00
Sybren A. Stüvel
fad2dc3042
Job authoring: handling of task dependencies + some bugfixes
2022-02-01 17:17:19 +01:00
Sybren A. Stüvel
8063a3e169
Cleanup: remove unused code
2022-02-01 16:22:21 +01:00
Sybren A. Stüvel
e598397ba4
Persistence: move some DB to API struct conversion to API implementation
2022-02-01 16:22:10 +01:00
Sybren A. Stüvel
862ed96af7
Make persistence.CreateTestDB public so it can be used from other packages
2022-02-01 10:57:33 +01:00
Sybren A. Stüvel
2ca8858c28
Only update status field in DB when worker changes status
2022-02-01 10:16:10 +01:00
Sybren A. Stüvel
be89349632
Very basic non-functional framework for a task runner
...
Also has some login/logout functionality for storing stuff in the DB.
2022-01-31 16:05:27 +01:00
Sybren A. Stüvel
d3071146da
Better logging of worker info
2022-01-31 15:35:57 +01:00
Sybren A. Stüvel
d880f7e7f0
Worker authentication is working
2022-01-31 15:27:13 +01:00
Sybren A. Stüvel
7c14b2648d
Much more of the Worker life cycle implemented
2022-01-31 15:02:05 +01:00
Sybren A. Stüvel
c501899185
Ported lots of stuff from gitlab.com/dr.sybren/flamenco-worker-go
...
Much isn't working though.
2022-01-28 17:02:50 +01:00
Sybren A. Stüvel
28a56f3d91
Store workers in database when registering
2022-01-28 15:31:39 +01:00
Sybren A. Stüvel
931fd1a24c
Move db/jobs tests to persistence/jobs.go
2022-01-28 14:53:02 +01:00
Sybren A. Stüvel
3b1cb3c187
Remove sqlite library & run go mod tidy
2022-01-28 14:52:46 +01:00
Sybren A. Stüvel
0b3311b0a7
Change parameter format of blender-render
command
2022-01-28 14:48:19 +01:00
Sybren A. Stüvel
30518ca3af
Store tasks & commands in the database
2022-01-25 18:25:26 +01:00
Sybren A. Stüvel
a4247f7a35
Allow authoring task type & assign a default priority
2022-01-25 18:25:15 +01:00
Sybren A. Stüvel
edda8f21cf
Make tests work on PostgreSQL
2022-01-25 18:12:01 +01:00
Sybren A. Stüvel
860ad168a6
Remove GORM PoC; it's used in Flamenco Manager now anyway
2022-01-25 17:27:44 +01:00
Sybren A. Stüvel
0f8bacd2e5
Store compiled jobs with GORM in PostgreSQL
2022-01-24 18:07:12 +01:00
Sybren A. Stüvel
2a4bf1c60f
Toying around with GORM and PostgreSQL
2022-01-24 16:59:48 +01:00
Sybren A. Stüvel
b446b02739
Change package URL
...
Change package URL from `gitlab.com/blender/flamenco-goja-test` to
`gitlab.com/blender/flamenco-ng-poc` so that it matches the actual URL
on Gitlab.
2022-01-24 14:28:00 +01:00
Sybren A. Stüvel
e4be846de8
Add make with-deps
target to install dependencies and build the apps
2022-01-24 14:27:25 +01:00
Sybren A. Stüvel
c36bc3ebbd
JSXxx
→ jsXxx
functions
2022-01-13 16:35:31 +01:00
Sybren A. Stüvel
0629728ce9
Add frame chunker and make unit test for simple blender render succeed
2022-01-13 16:32:08 +01:00
Sybren A. Stüvel
6aed4e71ff
Check for valid UUIDs; probably a good idea to write some validator for this
2022-01-11 18:45:09 +01:00
Sybren A. Stüvel
5af238eb21
Explicitly mention certain string fields are UUIDs
2022-01-11 18:39:53 +01:00
Sybren A. Stüvel
54933d0262
API: add Fetch Job endpoint
...
This is made with plain sqlite. It's probably a good idea to move to
something like GORM instead.
2022-01-11 18:38:14 +01:00
Sybren A. Stüvel
f0ae7d33e9
Connect API, job compiler, and persistence layer
2022-01-11 18:07:34 +01:00
Sybren A. Stüvel
0c9c99806b
Start of database interface
...
Contains a dummy migration because the migrate package will error out if
it cannot find any migration files.
2022-01-11 18:07:34 +01:00
Sybren A. Stüvel
e971c4aaed
Expand job settings definitions
...
Add `subtype` and `editable` fields:
- `subtype`: to distinguish between regular strings, file paths, dir paths,
etc.
- `editable`: To indicate a setting should be editale after submitting the
job. Editing will trigger re-compilation of the job.
2022-01-11 14:35:57 +01:00
Sybren A. Stüvel
d0fafb5063
Make the GET /api/jobs/types
endpoint work
2022-01-10 17:45:20 +01:00
Sybren A. Stüvel
6520dc2d66
Fix some linter warnings
...
No functional changes.
2022-01-10 17:45:14 +01:00
Sybren A. Stüvel
289bcf6414
Move job compiler JS code into its own function
...
Each job compiler script now must define a `compileJob(job)` function,
which will be called by Flamenco when necessary.
This makes it possible to run the script without a job, and get other
exported symbols from it, such as metadata about which settings its job
type needs/exposes.
2022-01-10 17:45:14 +01:00
Sybren A. Stüvel
87826b5179
Update README with go env GOPATH
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
a6aa3463ea
Add LICENSE
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
9b4aa11c82
Add README.md
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
b605330c57
API for getting supported job types from the Manager
...
Not yet hooked up to the job compiler, only reports one hard-coded job
type.
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
7728c072ae
Add copyright notices
...
No functional changes.
2022-01-10 17:45:13 +01:00