import asyncio import os from temporalio.client import Client from temporalio.worker import Worker from temporal.activity import calculate_plant_eaf_activity, execute_simulation_activity, update_contribution_bulk_mappings_activity, update_equipment_for_simulation_activity from temporal.workflow import SimulationWorkflow TEMPORAL_URL = os.environ.get("TEMPORAL_URL", "http://192.168.1.86:7233") async def main(): client = await Client.connect(TEMPORAL_URL) try: worker = Worker( client, task_queue="simulation-task-queue", workflows=[SimulationWorkflow], activities=[ update_equipment_for_simulation_activity, execute_simulation_activity, calculate_plant_eaf_activity, update_contribution_bulk_mappings_activity ], max_concurrent_workflow_tasks=50, max_concurrent_activities=12 ) await worker.run() except Exception as e: print(f"Worker failed: {e}") import traceback traceback.print_exc() if __name__ == "__main__": asyncio.run(main())