in lambda/launcher/workstation_launcher.py [0:0]
def launch_workstations(self) -> None:
configs = self.get_all_configs_to_launch()
if len(configs) == 0:
print("No workstations to launch at this time")
return
for config in configs:
try:
response = self.nimble_client.create_streaming_session(
clientToken=self.generate_client_token_for_create_session(config.user_id),
ec2InstanceType=config.instance_type,
launchProfileId=config.launch_profile,
ownedBy=config.user_id,
streamingImageId=config.streaming_image_id,
studioId=config.studio_id,
tags={
'NimbleStudioAutoWorkstationSchedulerLaunched': 'true',
'WorkstationOwnedBy': config.user_id,
'WorkstationTargetLaunchTimeUTC': self.time_manager.get_target_launch_time()
}
)
print(f"Launched session for user {config.user_id} with session ID {response['session']['sessionId']}")
except Exception as e:
print(f"Error launching session for user {config.user_id}: {e}")