SIENTIAPDE-1445
SIENTIAPDE-1445 Add PI Web API configuration to .env.example and enhance worker setup - Introduced new environment variables for PI Web API configuration in .env.example. - Updated prepare_worker.py to utilize a camelCase to kebab-case conversion function for queue naming. - Enhanced logging in prepare_worker to provide better insights during worker preparation. - Adjusted execution counts in tests.ipynb for improved notebook state management.
This commit is contained in:
@@ -5,6 +5,10 @@ from typing import Any
|
||||
from temporalio.client import Client
|
||||
from temporalio.worker import PollerBehaviorAutoscaling, Worker
|
||||
|
||||
from sientia_do.observability.logger import Logger
|
||||
|
||||
import re
|
||||
|
||||
parameters = [
|
||||
('MAX_CONCURRENT_WORKFLOW_TASKS', '200'),
|
||||
('MAX_CONCURRENT_ACTIVITIES', '200'),
|
||||
@@ -18,16 +22,25 @@ parameters = [
|
||||
('ACTIVITY_POLLER_BEHAVIUR_MAXIMUM', '200'),
|
||||
]
|
||||
|
||||
import re
|
||||
|
||||
def camel_to_kebab(text: str) -> str:
|
||||
"""Convert camelCase or PascalCase to kebab-case."""
|
||||
text = re.sub('(.)([A-Z][a-z]+)', r'\1-\2', text)
|
||||
text = re.sub('([a-z0-9])([A-Z])', r'\1-\2', text)
|
||||
return text.lower()
|
||||
|
||||
|
||||
def prepare_worker(
|
||||
main_workflow: type,
|
||||
other_workflows: Sequence[type],
|
||||
activities: Sequence[Any],
|
||||
temporal_client: Client,
|
||||
logger: Logger,
|
||||
) -> Worker:
|
||||
main_workflow_name = main_workflow.__name__.upper()
|
||||
|
||||
queue_name = f'{main_workflow_name.lower().replace("_", "-")}-queue'
|
||||
queue_name = f'{camel_to_kebab(main_workflow.__name__)}-queue'
|
||||
|
||||
local_workflow_parameters = {}
|
||||
|
||||
@@ -36,6 +49,8 @@ def prepare_worker(
|
||||
os.getenv(main_workflow_name + '_' + parameter[0], parameter[1])
|
||||
)
|
||||
|
||||
logger.info(f'Preparing worker for {main_workflow_name} with queue {queue_name}')
|
||||
|
||||
return Worker(
|
||||
temporal_client,
|
||||
task_queue=queue_name,
|
||||
|
||||
Reference in New Issue
Block a user