Fix #99549: Remember Previous Status #104217

Merged
Sybren A. Stüvel merged 16 commits from Evelinealy/flamenco:web-api-upgrade into main 2023-06-02 22:50:10 +02:00
18 changed files with 291 additions and 286 deletions
Showing only changes of commit f51414790f - Show all commits

4
.env.example Normal file
View File

@ -0,0 +1,4 @@
# Copy this file as .env
# SSH account & hostname for publishing.
WEBSERVER_SSH=user@domain
WEBSERVER_ROOT=/path-to/flamenco.blender.org

1
.gitignore vendored
View File

@ -5,6 +5,7 @@
*.db *.db
*.blend[0-9] *.blend[0-9]
*.flamenco.blend *.flamenco.blend
.env
/flamenco-manager /flamenco-manager
/flamenco-worker /flamenco-worker

View File

@ -1,3 +1,5 @@
-include .env
PKG := git.blender.org/flamenco PKG := git.blender.org/flamenco
# To update the version number in all the relevant places, update the VERSION # To update the version number in all the relevant places, update the VERSION
@ -41,10 +43,6 @@ FFMPEG_VERSION=5.0.1
TOOLS=./tools TOOLS=./tools
TOOLS_DOWNLOAD=./tools/download TOOLS_DOWNLOAD=./tools/download
# SSH account & hostname for publishing.
WEBSERVER_SSH=flamenco@flamenco.blender.org
WEBSERVER_ROOT=/var/www/flamenco.blender.org
all: application all: application
# Install generators and build the software. # Install generators and build the software.
@ -230,16 +228,31 @@ clean-webapp-static:
touch ${WEB_STATIC}/emptyfile touch ${WEB_STATIC}/emptyfile
project-website: project-website:
$(MAKE) -s check-environment
rm -rf web/project-website/public/ rm -rf web/project-website/public/
cd web/project-website; hugo --baseURL https://flamenco.blender.org/ cd web/project-website; hugo --baseURL https://flamenco.blender.org/
rsync web/project-website/public/ ${WEBSERVER_SSH}:${WEBSERVER_ROOT}/ \ rsync web/project-website/public/ ${WEBSERVER_SSH}:${WEBSERVER_ROOT}/ \
-va \ -e "ssh" \
-a \
--exclude v2/ \ --exclude v2/ \
--exclude downloads/ \ --exclude downloads/ \
--exclude .well-known/ \ --exclude .well-known/ \
--exclude .htaccess \ --exclude .htaccess \
--delete-after --delete-after
# For production deployments: check variables stored in .env
.PHONY: check-environment
check-environment:
ifndef WEBSERVER_SSH
@echo "WEBSERVER_SSH not found. Check .env or .env.example"
exit 1
endif
ifndef WEBSERVER_ROOT
@echo "WEBSERVER_ROOT not found. Check .env or .env.example"
exit 1
endif
# Download & install FFmpeg in the 'tools' directory for supported platforms. # Download & install FFmpeg in the 'tools' directory for supported platforms.
.PHONY: tools .PHONY: tools
tools: tools:
@ -338,6 +351,7 @@ release-package-windows:
.PHONY: publish-release-packages .PHONY: publish-release-packages
publish-release-packages: publish-release-packages:
$(MAKE) -s check-environment
cd dist; sha256sum ${RELEASE_PACKAGE_LINUX} ${RELEASE_PACKAGE_DARWIN} ${RELEASE_PACKAGE_WINDOWS} > ${RELEASE_PACKAGE_SHAFILE} cd dist; sha256sum ${RELEASE_PACKAGE_LINUX} ${RELEASE_PACKAGE_DARWIN} ${RELEASE_PACKAGE_WINDOWS} > ${RELEASE_PACKAGE_SHAFILE}
cd dist; rsync -va \ cd dist; rsync -va \
${RELEASE_PACKAGE_LINUX} ${RELEASE_PACKAGE_DARWIN} ${RELEASE_PACKAGE_WINDOWS} ${RELEASE_PACKAGE_SHAFILE} \ ${RELEASE_PACKAGE_LINUX} ${RELEASE_PACKAGE_DARWIN} ${RELEASE_PACKAGE_WINDOWS} ${RELEASE_PACKAGE_SHAFILE} \

View File

@ -44,7 +44,7 @@ class WorkerMgtApi(object):
self.api_client = api_client self.api_client = api_client
self.create_worker_cluster_endpoint = _Endpoint( self.create_worker_cluster_endpoint = _Endpoint(
settings={ settings={
'response_type': None, 'response_type': (WorkerCluster,),
'auth': [], 'auth': [],
'endpoint_path': '/api/v3/worker-mgt/clusters', 'endpoint_path': '/api/v3/worker-mgt/clusters',
'operation_id': 'create_worker_cluster', 'operation_id': 'create_worker_cluster',
@ -691,7 +691,7 @@ class WorkerMgtApi(object):
async_req (bool): execute request asynchronously async_req (bool): execute request asynchronously
Returns: Returns:
None WorkerCluster
If the method is called asynchronously, returns the request If the method is called asynchronously, returns the request
thread. thread.
""" """

View File

@ -4,7 +4,7 @@
## Properties ## Properties
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**value** | **str** | | must be one of ["active", "canceled", "completed", "construction-failed", "failed", "paused", "queued", "archived", "archiving", "cancel-requested", "requeueing", "under-construction", ] **value** | **str** | | must be one of ["active", "canceled", "completed", "failed", "paused", "queued", "cancel-requested", "requeueing", "under-construction", ]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -19,7 +19,7 @@ Method | HTTP request | Description
# **create_worker_cluster** # **create_worker_cluster**
> create_worker_cluster(worker_cluster) > WorkerCluster create_worker_cluster(worker_cluster)
Create a new worker cluster. Create a new worker cluster.
@ -53,7 +53,8 @@ with flamenco.manager.ApiClient() as api_client:
# example passing only required values which don't have defaults set # example passing only required values which don't have defaults set
try: try:
# Create a new worker cluster. # Create a new worker cluster.
api_instance.create_worker_cluster(worker_cluster) api_response = api_instance.create_worker_cluster(worker_cluster)
pprint(api_response)
except flamenco.manager.ApiException as e: except flamenco.manager.ApiException as e:
print("Exception when calling WorkerMgtApi->create_worker_cluster: %s\n" % e) print("Exception when calling WorkerMgtApi->create_worker_cluster: %s\n" % e)
``` ```
@ -67,7 +68,7 @@ Name | Type | Description | Notes
### Return type ### Return type
void (empty response body) [**WorkerCluster**](WorkerCluster.md)
### Authorization ### Authorization
@ -83,7 +84,7 @@ No authorization required
| Status code | Description | Response headers | | Status code | Description | Response headers |
|-------------|-------------|------------------| |-------------|-------------|------------------|
**204** | The cluster was created. | - | **200** | The cluster was created. The created cluster is returned, so that the caller can know its UUID. | - |
**0** | Error message | - | **0** | Error message | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -55,12 +55,9 @@ class JobStatus(ModelSimple):
'ACTIVE': "active", 'ACTIVE': "active",
'CANCELED': "canceled", 'CANCELED': "canceled",
'COMPLETED': "completed", 'COMPLETED': "completed",
'CONSTRUCTION-FAILED': "construction-failed",
'FAILED': "failed", 'FAILED': "failed",
'PAUSED': "paused", 'PAUSED': "paused",
'QUEUED': "queued", 'QUEUED': "queued",
'ARCHIVED': "archived",
'ARCHIVING': "archiving",
'CANCEL-REQUESTED': "cancel-requested", 'CANCEL-REQUESTED': "cancel-requested",
'REQUEUEING': "requeueing", 'REQUEUEING': "requeueing",
'UNDER-CONSTRUCTION': "under-construction", 'UNDER-CONSTRUCTION': "under-construction",
@ -115,10 +112,10 @@ class JobStatus(ModelSimple):
Note that value can be passed either in args or in kwargs, but not in both. Note that value can be passed either in args or in kwargs, but not in both.
Args: Args:
args[0] (str):, must be one of ["active", "canceled", "completed", "construction-failed", "failed", "paused", "queued", "archived", "archiving", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501 args[0] (str):, must be one of ["active", "canceled", "completed", "failed", "paused", "queued", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501
Keyword Args: Keyword Args:
value (str):, must be one of ["active", "canceled", "completed", "construction-failed", "failed", "paused", "queued", "archived", "archiving", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501 value (str):, must be one of ["active", "canceled", "completed", "failed", "paused", "queued", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501
_check_type (bool): if True, values for parameters in openapi_types _check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be will be type checked and a TypeError will be
raised if the wrong type is input. raised if the wrong type is input.
@ -205,10 +202,10 @@ class JobStatus(ModelSimple):
Note that value can be passed either in args or in kwargs, but not in both. Note that value can be passed either in args or in kwargs, but not in both.
Args: Args:
args[0] (str):, must be one of ["active", "canceled", "completed", "construction-failed", "failed", "paused", "queued", "archived", "archiving", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501 args[0] (str):, must be one of ["active", "canceled", "completed", "failed", "paused", "queued", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501
Keyword Args: Keyword Args:
value (str):, must be one of ["active", "canceled", "completed", "construction-failed", "failed", "paused", "queued", "archived", "archiving", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501 value (str):, must be one of ["active", "canceled", "completed", "failed", "paused", "queued", "cancel-requested", "requeueing", "under-construction", ] # noqa: E501
_check_type (bool): if True, values for parameters in openapi_types _check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be will be type checked and a TypeError will be
raised if the wrong type is input. raised if the wrong type is input.

View File

@ -600,9 +600,9 @@ func (db *DB) AddWorkerToTaskFailedList(ctx context.Context, t *Task, w *Worker)
// Integer literals are of type `int`, so that's just a bit nicer to work with // Integer literals are of type `int`, so that's just a bit nicer to work with
// than `int64`. // than `int64`.
if numFailed64 > math.MaxUint32 { if numFailed64 > math.MaxInt32 {
log.Warn().Int64("numFailed", numFailed64).Msg("number of failed workers is crazy high, something is wrong here") log.Warn().Int64("numFailed", numFailed64).Msg("number of failed workers is crazy high, something is wrong here")
return math.MaxUint32, tx.Error return math.MaxInt32, tx.Error
} }
return int(numFailed64), tx.Error return int(numFailed64), tx.Error
} }

View File

@ -1601,12 +1601,9 @@ components:
- active - active
- canceled - canceled
- completed - completed
- construction-failed
- failed - failed
- paused - paused
- queued - queued
- archived
- archiving
- cancel-requested - cancel-requested
- requeueing - requeueing
- under-construction - under-construction

View File

@ -4209,6 +4209,7 @@ func (r FetchWorkerClustersResponse) StatusCode() int {
type CreateWorkerClusterResponse struct { type CreateWorkerClusterResponse struct {
Body []byte Body []byte
HTTPResponse *http.Response HTTPResponse *http.Response
JSON200 *WorkerCluster
JSONDefault *Error JSONDefault *Error
} }
@ -6307,6 +6308,13 @@ func ParseCreateWorkerClusterResponse(rsp *http.Response) (*CreateWorkerClusterR
} }
switch { switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest WorkerCluster
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true:
var dest Error var dest Error
if err := json.Unmarshal(bodyBytes, &dest); err != nil { if err := json.Unmarshal(bodyBytes, &dest); err != nil {

View File

@ -19,215 +19,216 @@ import (
var swaggerSpec = []string{ var swaggerSpec = []string{
"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",
"v378fwEAAP//JyvfICwBAQA=",
} }
// GetSwagger returns the content of the embedded swagger specification file // GetSwagger returns the content of the embedded swagger specification file

View File

@ -59,18 +59,12 @@ const (
const ( const (
JobStatusActive JobStatus = "active" JobStatusActive JobStatus = "active"
JobStatusArchived JobStatus = "archived"
JobStatusArchiving JobStatus = "archiving"
JobStatusCancelRequested JobStatus = "cancel-requested" JobStatusCancelRequested JobStatus = "cancel-requested"
JobStatusCanceled JobStatus = "canceled" JobStatusCanceled JobStatus = "canceled"
JobStatusCompleted JobStatus = "completed" JobStatusCompleted JobStatus = "completed"
JobStatusConstructionFailed JobStatus = "construction-failed"
JobStatusFailed JobStatus = "failed" JobStatusFailed JobStatus = "failed"
JobStatusPaused JobStatus = "paused" JobStatusPaused JobStatus = "paused"

View File

@ -23,21 +23,21 @@
package touch package touch
import ( import (
"syscall" "os"
"unsafe"
"golang.org/x/sys/unix"
) )
// touch is the same as syscall.utimes, but passes NULL as timestamp pointer (instead of a // touch uses uni.UtimesNano() in order to pass the special 'now' timestamps
// pointer to a concrete time). // available in that package.
func touch(path string) (err error) { func touch(path string) (err error) {
var _p0 *byte now := unix.Timespec{
_p0, err = syscall.BytePtrFromString(path) Sec: 0,
if err != nil { Nsec: unix.UTIME_NOW,
return
} }
_, _, e1 := syscall.Syscall(syscall.SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(0), 0) utimes := []unix.Timespec{now, now}
if e1 != 0 { if e := unix.UtimesNano(path, utimes); e != nil {
err = syscall.Errno(e1) return &os.PathError{Op: "chtimes", Path: path, Err: e}
} }
return return nil
} }

View File

@ -45,7 +45,7 @@ export default class WorkerMgtApi {
/** /**
* Create a new worker cluster. * Create a new worker cluster.
* @param {module:model/WorkerCluster} workerCluster The worker cluster. * @param {module:model/WorkerCluster} workerCluster The worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/WorkerCluster} and HTTP response
*/ */
createWorkerClusterWithHttpInfo(workerCluster) { createWorkerClusterWithHttpInfo(workerCluster) {
let postBody = workerCluster; let postBody = workerCluster;
@ -66,7 +66,7 @@ export default class WorkerMgtApi {
let authNames = []; let authNames = [];
let contentTypes = ['application/json']; let contentTypes = ['application/json'];
let accepts = ['application/json']; let accepts = ['application/json'];
let returnType = null; let returnType = WorkerCluster;
return this.apiClient.callApi( return this.apiClient.callApi(
'/api/v3/worker-mgt/clusters', 'POST', '/api/v3/worker-mgt/clusters', 'POST',
pathParams, queryParams, headerParams, formParams, postBody, pathParams, queryParams, headerParams, formParams, postBody,
@ -77,7 +77,7 @@ export default class WorkerMgtApi {
/** /**
* Create a new worker cluster. * Create a new worker cluster.
* @param {module:model/WorkerCluster} workerCluster The worker cluster. * @param {module:model/WorkerCluster} workerCluster The worker cluster.
* @return {Promise} a {@link https://www.promisejs.org/|Promise} * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/WorkerCluster}
*/ */
createWorkerCluster(workerCluster) { createWorkerCluster(workerCluster) {
return this.createWorkerClusterWithHttpInfo(workerCluster) return this.createWorkerClusterWithHttpInfo(workerCluster)

View File

@ -40,13 +40,6 @@ export default class JobStatus {
"completed" = "completed"; "completed" = "completed";
/**
* value: "construction-failed"
* @const
*/
"construction-failed" = "construction-failed";
/** /**
* value: "failed" * value: "failed"
* @const * @const
@ -68,20 +61,6 @@ export default class JobStatus {
"queued" = "queued"; "queued" = "queued";
/**
* value: "archived"
* @const
*/
"archived" = "archived";
/**
* value: "archiving"
* @const
*/
"archiving" = "archiving";
/** /**
* value: "cancel-requested" * value: "cancel-requested"
* @const * @const

View File

@ -12,14 +12,15 @@ people.
Replace `${VERSION}` with the actual version number. Replace `${VERSION}` with the actual version number.
1. Ensure that env variables are set in the `.env` file (see `.env.example` for reference)
1. Update `CHANGELOG.md` and mark the to-be-released version as released today. 1. Update `CHANGELOG.md` and mark the to-be-released version as released today.
2. Update `web/project-website/data/flamenco.yaml` for the new version. 1. Update `web/project-website/data/flamenco.yaml` for the new version.
3. Update `Makefile` and change the `VERSION` and `RELEASE_CYCLE` variables. 1. Update `Makefile` and change the `VERSION` and `RELEASE_CYCLE` variables.
4. `make update-version` 1. `make update-version`
5. `git commit -m "Bump version to ${VERSION}"` 1. `git commit -m "Bump version to ${VERSION}"`
6. `git tag v${VERSION}` 1. `git tag v${VERSION}`
7. `make release-package` 1. `make release-package`
8. Check that the files in `dist/` are there and have a non-zero size. 1. Check that the files in `dist/` are there and have a non-zero size.
9. `make publish-release-packages` to upload the packages to the website. 1. `make publish-release-packages` to upload the packages to the website.
10. `make project-website` to generate and publish the new website. 1. `make project-website` to generate and publish the new website.
11. `git push && git push --tags` 1. `git push && git push --tags`

View File

@ -118,6 +118,14 @@ This means that you have to click on the little "Refresh" icon next to the job t
<img src="job-types-refresh.webp" width="396" height="41"> <img src="job-types-refresh.webp" width="396" height="41">
## Render jobs hang after the first chunk of frames, what's wrong?
When rendering a chunk of frames, Flamenco waits until Blender quits. This
signals Flamenco that it finished rendering. Sometimes an add-on prevents
Blender from quitting, and thus Flamenco will think it is still doing something.
Disable add-ons one-by-one to see which one is causing this issue.
## What does "command exited abnormally with code 1" mean? ## What does "command exited abnormally with code 1" mean?
It means that the program (probably Blender) exited with an error status. Take a It means that the program (probably Blender) exited with an error status. Take a

View File

@ -3,7 +3,7 @@ title: Job Types
weight: 10 weight: 10
--- ---
Flamenco uses JavaScript files called *job compiler scripts* or two things. They Flamenco uses JavaScript files called *job compiler scripts* for two things. They
- define a *job type*, with its own set of settings, and - define a *job type*, with its own set of settings, and
- convert a job of this type (like "*render this Blend file*") into concrete - convert a job of this type (like "*render this Blend file*") into concrete