diff --git a/addon/flamenco/manager/__init__.py b/addon/flamenco/manager/__init__.py index 2e316bd7..bc213cc4 100644 --- a/addon/flamenco/manager/__init__.py +++ b/addon/flamenco/manager/__init__.py @@ -10,7 +10,7 @@ """ -__version__ = "9daecf2b" +__version__ = "b34fee51" # import ApiClient from flamenco.manager.api_client import ApiClient diff --git a/addon/flamenco/manager/api_client.py b/addon/flamenco/manager/api_client.py index 7785363a..2bf32ab1 100644 --- a/addon/flamenco/manager/api_client.py +++ b/addon/flamenco/manager/api_client.py @@ -76,7 +76,7 @@ class ApiClient(object): self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'Flamenco/9daecf2b (Blender add-on)' + self.user_agent = 'Flamenco/b34fee51 (Blender add-on)' def __enter__(self): return self diff --git a/addon/flamenco/manager/configuration.py b/addon/flamenco/manager/configuration.py index a6d0f02d..89ffdd54 100644 --- a/addon/flamenco/manager/configuration.py +++ b/addon/flamenco/manager/configuration.py @@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration( "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 1.0.0\n"\ - "SDK Package Version: 9daecf2b".\ + "SDK Package Version: b34fee51".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/addon/flamenco/manager/docs/SocketIOWorkerUpdate.md b/addon/flamenco/manager/docs/SocketIOWorkerUpdate.md index 077f86ff..3b4bb397 100644 --- a/addon/flamenco/manager/docs/SocketIOWorkerUpdate.md +++ b/addon/flamenco/manager/docs/SocketIOWorkerUpdate.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **updated** | **datetime** | Timestamp of last update | **status** | [**WorkerStatus**](WorkerStatus.md) | | **version** | **str** | | +**last_seen** | **datetime** | Last time this worker was seen by the Manager. | [optional] **previous_status** | [**WorkerStatus**](WorkerStatus.md) | | [optional] **status_change** | [**WorkerStatusChangeRequest**](WorkerStatusChangeRequest.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/addon/flamenco/manager/docs/Worker.md b/addon/flamenco/manager/docs/Worker.md index ed21749e..24cc65db 100644 --- a/addon/flamenco/manager/docs/Worker.md +++ b/addon/flamenco/manager/docs/Worker.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **platform** | **str** | Operating system of the Worker | **supported_task_types** | **[str]** | | **status_change** | [**WorkerStatusChangeRequest**](WorkerStatusChangeRequest.md) | | [optional] +**last_seen** | **datetime** | Last time this worker was seen by the Manager. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/addon/flamenco/manager/docs/WorkerSummary.md b/addon/flamenco/manager/docs/WorkerSummary.md index b490e3e6..4e96a044 100644 --- a/addon/flamenco/manager/docs/WorkerSummary.md +++ b/addon/flamenco/manager/docs/WorkerSummary.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **status** | [**WorkerStatus**](WorkerStatus.md) | | **version** | **str** | Version of Flamenco this Worker is running | **status_change** | [**WorkerStatusChangeRequest**](WorkerStatusChangeRequest.md) | | [optional] +**last_seen** | **datetime** | Last time this worker was seen by the Manager. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/addon/flamenco/manager/model/socket_io_worker_update.py b/addon/flamenco/manager/model/socket_io_worker_update.py index bc7edddb..c6ed1fd4 100644 --- a/addon/flamenco/manager/model/socket_io_worker_update.py +++ b/addon/flamenco/manager/model/socket_io_worker_update.py @@ -94,6 +94,7 @@ class SocketIOWorkerUpdate(ModelNormal): 'updated': (datetime,), # noqa: E501 'status': (WorkerStatus,), # noqa: E501 'version': (str,), # noqa: E501 + 'last_seen': (datetime,), # noqa: E501 'previous_status': (WorkerStatus,), # noqa: E501 'status_change': (WorkerStatusChangeRequest,), # noqa: E501 } @@ -109,6 +110,7 @@ class SocketIOWorkerUpdate(ModelNormal): 'updated': 'updated', # noqa: E501 'status': 'status', # noqa: E501 'version': 'version', # noqa: E501 + 'last_seen': 'last_seen', # noqa: E501 'previous_status': 'previous_status', # noqa: E501 'status_change': 'status_change', # noqa: E501 } @@ -161,6 +163,7 @@ class SocketIOWorkerUpdate(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 previous_status (WorkerStatus): [optional] # noqa: E501 status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 """ @@ -256,6 +259,7 @@ class SocketIOWorkerUpdate(ModelNormal): Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 previous_status (WorkerStatus): [optional] # noqa: E501 status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 """ diff --git a/addon/flamenco/manager/model/worker.py b/addon/flamenco/manager/model/worker.py index a3059ed8..eae8d337 100644 --- a/addon/flamenco/manager/model/worker.py +++ b/addon/flamenco/manager/model/worker.py @@ -101,6 +101,7 @@ class Worker(ModelComposed): 'platform': (str,), # noqa: E501 'supported_task_types': ([str],), # noqa: E501 'status_change': (WorkerStatusChangeRequest,), # noqa: E501 + 'last_seen': (datetime,), # noqa: E501 } @cached_property @@ -117,6 +118,7 @@ class Worker(ModelComposed): 'platform': 'platform', # noqa: E501 'supported_task_types': 'supported_task_types', # noqa: E501 'status_change': 'status_change', # noqa: E501 + 'last_seen': 'last_seen', # noqa: E501 } read_only_vars = { @@ -166,6 +168,7 @@ class Worker(ModelComposed): through its discriminator because we passed in _visited_composed_classes = (Animal,) status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -273,6 +276,7 @@ class Worker(ModelComposed): through its discriminator because we passed in _visited_composed_classes = (Animal,) status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/addon/flamenco/manager/model/worker_summary.py b/addon/flamenco/manager/model/worker_summary.py index bffc7d67..434c807e 100644 --- a/addon/flamenco/manager/model/worker_summary.py +++ b/addon/flamenco/manager/model/worker_summary.py @@ -94,6 +94,7 @@ class WorkerSummary(ModelNormal): 'status': (WorkerStatus,), # noqa: E501 'version': (str,), # noqa: E501 'status_change': (WorkerStatusChangeRequest,), # noqa: E501 + 'last_seen': (datetime,), # noqa: E501 } @cached_property @@ -107,6 +108,7 @@ class WorkerSummary(ModelNormal): 'status': 'status', # noqa: E501 'version': 'version', # noqa: E501 'status_change': 'status_change', # noqa: E501 + 'last_seen': 'last_seen', # noqa: E501 } read_only_vars = { @@ -157,6 +159,7 @@ class WorkerSummary(ModelNormal): through its discriminator because we passed in _visited_composed_classes = (Animal,) status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -249,6 +252,7 @@ class WorkerSummary(ModelNormal): through its discriminator because we passed in _visited_composed_classes = (Animal,) status_change (WorkerStatusChangeRequest): [optional] # noqa: E501 + last_seen (datetime): Last time this worker was seen by the Manager.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index 9f936c7d..536df9d5 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -4,7 +4,7 @@ Render Farm manager API The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.0.0 -- Package version: 9daecf2b +- Package version: b34fee51 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flamenco.io/](https://flamenco.io/) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index a5bd13a1..1a8d48b6 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,153 +18,153 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "6sPV/w8AAP//NBc+Sd6rAAA=", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index 014728c8..22551bec 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -479,6 +479,9 @@ type SocketIOWorkerUpdate struct { // UUID of the Worker Id string `json:"id"` + // Last time this worker was seen by the Manager. + LastSeen *time.Time `json:"last_seen,omitempty"` + // Name of the worker Name string `json:"name"` PreviousStatus *WorkerStatus `json:"previous_status,omitempty"` @@ -619,9 +622,12 @@ type WorkerStatusChangeRequest struct { // Basic information about a Worker. type WorkerSummary struct { - Id string `json:"id"` - Name string `json:"name"` - Status WorkerStatus `json:"status"` + Id string `json:"id"` + + // Last time this worker was seen by the Manager. + LastSeen *time.Time `json:"last_seen,omitempty"` + Name string `json:"name"` + Status WorkerStatus `json:"status"` // Request for a Worker to change its status to `status`. StatusChange *WorkerStatusChangeRequest `json:"status_change,omitempty"` diff --git a/web/app/src/manager-api/ApiClient.js b/web/app/src/manager-api/ApiClient.js index de141fc7..b7b6afec 100644 --- a/web/app/src/manager-api/ApiClient.js +++ b/web/app/src/manager-api/ApiClient.js @@ -55,7 +55,7 @@ class ApiClient { * @default {} */ this.defaultHeaders = { - 'User-Agent': 'Flamenco/9daecf2b / webbrowser' + 'User-Agent': 'Flamenco/b34fee51 / webbrowser' }; /** diff --git a/web/app/src/manager-api/model/SocketIOWorkerUpdate.js b/web/app/src/manager-api/model/SocketIOWorkerUpdate.js index e97353dd..4bab6920 100644 --- a/web/app/src/manager-api/model/SocketIOWorkerUpdate.js +++ b/web/app/src/manager-api/model/SocketIOWorkerUpdate.js @@ -69,6 +69,9 @@ class SocketIOWorkerUpdate { if (data.hasOwnProperty('updated')) { obj['updated'] = ApiClient.convertToType(data['updated'], 'Date'); } + if (data.hasOwnProperty('last_seen')) { + obj['last_seen'] = ApiClient.convertToType(data['last_seen'], 'Date'); + } if (data.hasOwnProperty('status')) { obj['status'] = WorkerStatus.constructFromObject(data['status']); } @@ -106,6 +109,12 @@ SocketIOWorkerUpdate.prototype['name'] = undefined; */ SocketIOWorkerUpdate.prototype['updated'] = undefined; +/** + * Last time this worker was seen by the Manager. + * @member {Date} last_seen + */ +SocketIOWorkerUpdate.prototype['last_seen'] = undefined; + /** * @member {module:model/WorkerStatus} status */ diff --git a/web/app/src/manager-api/model/Worker.js b/web/app/src/manager-api/model/Worker.js index 9aef10c5..f7f41383 100644 --- a/web/app/src/manager-api/model/Worker.js +++ b/web/app/src/manager-api/model/Worker.js @@ -82,6 +82,9 @@ class Worker { if (data.hasOwnProperty('status_change')) { obj['status_change'] = WorkerStatusChangeRequest.constructFromObject(data['status_change']); } + if (data.hasOwnProperty('last_seen')) { + obj['last_seen'] = ApiClient.convertToType(data['last_seen'], 'Date'); + } if (data.hasOwnProperty('version')) { obj['version'] = ApiClient.convertToType(data['version'], 'String'); } @@ -121,6 +124,12 @@ Worker.prototype['status'] = undefined; */ Worker.prototype['status_change'] = undefined; +/** + * Last time this worker was seen by the Manager. + * @member {Date} last_seen + */ +Worker.prototype['last_seen'] = undefined; + /** * Version of Flamenco this Worker is running * @member {String} version @@ -162,6 +171,11 @@ WorkerSummary.prototype['status'] = undefined; * @member {module:model/WorkerStatusChangeRequest} status_change */ WorkerSummary.prototype['status_change'] = undefined; +/** + * Last time this worker was seen by the Manager. + * @member {Date} last_seen + */ +WorkerSummary.prototype['last_seen'] = undefined; /** * Version of Flamenco this Worker is running * @member {String} version diff --git a/web/app/src/manager-api/model/WorkerSummary.js b/web/app/src/manager-api/model/WorkerSummary.js index 0a2717e7..696aeaf0 100644 --- a/web/app/src/manager-api/model/WorkerSummary.js +++ b/web/app/src/manager-api/model/WorkerSummary.js @@ -70,6 +70,9 @@ class WorkerSummary { if (data.hasOwnProperty('status_change')) { obj['status_change'] = WorkerStatusChangeRequest.constructFromObject(data['status_change']); } + if (data.hasOwnProperty('last_seen')) { + obj['last_seen'] = ApiClient.convertToType(data['last_seen'], 'Date'); + } if (data.hasOwnProperty('version')) { obj['version'] = ApiClient.convertToType(data['version'], 'String'); } @@ -100,6 +103,12 @@ WorkerSummary.prototype['status'] = undefined; */ WorkerSummary.prototype['status_change'] = undefined; +/** + * Last time this worker was seen by the Manager. + * @member {Date} last_seen + */ +WorkerSummary.prototype['last_seen'] = undefined; + /** * Version of Flamenco this Worker is running * @member {String} version