import asyncio 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 async def main(): client = await Client.connect("http://temporal:7233") 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())