SIENTIAPDE-1441
Refactor prepare_worker.py to improve type annotations and code clarity. Update import statements and enhance formatting for better readability. Adjust comments in worker.py for consistency.
This commit is contained in:
@@ -1,17 +1,15 @@
|
|||||||
from typing import Sequence, Type, Any
|
|
||||||
|
|
||||||
from temporalio.worker import Worker, PollerBehaviorAutoscaling
|
|
||||||
from temporalio.client import Client
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from collections.abc import Sequence
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
from temporalio.client import Client
|
||||||
|
from temporalio.worker import PollerBehaviorAutoscaling, Worker
|
||||||
|
|
||||||
parameters = [
|
parameters = [
|
||||||
('MAX_CONCURRENT_WORKFLOW_TASKS', '200'),
|
('MAX_CONCURRENT_WORKFLOW_TASKS', '200'),
|
||||||
('MAX_CONCURRENT_ACTIVITIES', '200'),
|
('MAX_CONCURRENT_ACTIVITIES', '200'),
|
||||||
('MAX_CONCURRENT_LOCAL_ACTIVITIES', '200'),
|
('MAX_CONCURRENT_LOCAL_ACTIVITIES', '200'),
|
||||||
('MAX_CACHED_WORKFLOWS', '200'),
|
('MAX_CACHED_WORKFLOWS', '200'),
|
||||||
|
|
||||||
('WORKFLOW_POLLER_BEHAVIUR_MINIMUM', '10'),
|
('WORKFLOW_POLLER_BEHAVIUR_MINIMUM', '10'),
|
||||||
('WORKFLOW_POLLER_BEHAVIUR_INITIAL', '100'),
|
('WORKFLOW_POLLER_BEHAVIUR_INITIAL', '100'),
|
||||||
('WORKFLOW_POLLER_BEHAVIUR_MAXIMUM', '200'),
|
('WORKFLOW_POLLER_BEHAVIUR_MAXIMUM', '200'),
|
||||||
@@ -20,21 +18,21 @@ parameters = [
|
|||||||
('ACTIVITY_POLLER_BEHAVIUR_MAXIMUM', '200'),
|
('ACTIVITY_POLLER_BEHAVIUR_MAXIMUM', '200'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def prepare_worker(
|
def prepare_worker(
|
||||||
main_workflow: Type,
|
main_workflow: type,
|
||||||
other_workflows: Sequence[Type],
|
other_workflows: Sequence[type],
|
||||||
activities: Sequence[Any],
|
activities: Sequence[Any],
|
||||||
temporal_client: Client,
|
temporal_client: Client,
|
||||||
) -> Worker:
|
) -> Worker:
|
||||||
|
|
||||||
main_workflow_name = main_workflow.__name__.upper()
|
main_workflow_name = main_workflow.__name__.upper()
|
||||||
|
|
||||||
local_workflow_parameters = {}
|
local_workflow_parameters = {}
|
||||||
|
|
||||||
for parameter in parameters:
|
for parameter in parameters:
|
||||||
local_workflow_parameters[parameter[0]] = int(
|
local_workflow_parameters[parameter[0]] = int(
|
||||||
os.getenv(main_workflow_name + '_' + parameter[0], parameter[1]))
|
os.getenv(main_workflow_name + '_' + parameter[0], parameter[1])
|
||||||
|
)
|
||||||
|
|
||||||
return Worker(
|
return Worker(
|
||||||
temporal_client,
|
temporal_client,
|
||||||
@@ -43,7 +41,9 @@ def prepare_worker(
|
|||||||
activities=[*activities],
|
activities=[*activities],
|
||||||
max_concurrent_workflow_tasks=local_workflow_parameters['MAX_CONCURRENT_WORKFLOW_TASKS'],
|
max_concurrent_workflow_tasks=local_workflow_parameters['MAX_CONCURRENT_WORKFLOW_TASKS'],
|
||||||
max_concurrent_activities=local_workflow_parameters['MAX_CONCURRENT_ACTIVITIES'],
|
max_concurrent_activities=local_workflow_parameters['MAX_CONCURRENT_ACTIVITIES'],
|
||||||
max_concurrent_local_activities=local_workflow_parameters['MAX_CONCURRENT_LOCAL_ACTIVITIES'],
|
max_concurrent_local_activities=local_workflow_parameters[
|
||||||
|
'MAX_CONCURRENT_LOCAL_ACTIVITIES'
|
||||||
|
],
|
||||||
max_cached_workflows=local_workflow_parameters['MAX_CACHED_WORKFLOWS'],
|
max_cached_workflows=local_workflow_parameters['MAX_CACHED_WORKFLOWS'],
|
||||||
workflow_task_poller_behavior=PollerBehaviorAutoscaling(
|
workflow_task_poller_behavior=PollerBehaviorAutoscaling(
|
||||||
minimum=local_workflow_parameters['WORKFLOW_POLLER_BEHAVIUR_MINIMUM'],
|
minimum=local_workflow_parameters['WORKFLOW_POLLER_BEHAVIUR_MINIMUM'],
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
from temporalio import client, workflow
|
from temporalio import client, workflow
|
||||||
from temporalio.runtime import PrometheusConfig, Runtime, TelemetryConfig
|
from temporalio.runtime import PrometheusConfig, Runtime, TelemetryConfig
|
||||||
from temporalio.worker import PollerBehaviorAutoscaling, Worker
|
|
||||||
|
|
||||||
from scouter.worker.prepare_worker import prepare_worker
|
from scouter.worker.prepare_worker import prepare_worker
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user