def initialize_scaling(self):
debug_opts = "<STR_LIT>" if self.worker_debug else "<STR_LIT>"<EOL>max_workers = "<STR_LIT>" if self.max_workers == float('<STR_LIT>') else "<STR_LIT>".format(self.max_workers)<EOL>worker_logdir = "<STR_LIT>".format(self.run_dir, self.label)<EOL>if self.worker_logdir_root is not None:<EOL><INDENT>worker_logdir = "<STR_LIT>".format(self.worker_logdir_root, self.label)<EOL><DEDENT>l_cmd = self.launch_cmd.format(debug=debug_opts,<EOL>prefetch_capacity=self.prefetch_capacity,<EOL>task_url=self.worker_task_url,<EOL>result_url=self.worker_result_url,<EOL>cores_per_worker=self.cores_per_worker,<EOL>max_workers=max_workers,<EOL>nodes_per_block=self.provider.nodes_per_block,<EOL>heartbeat_period=self.heartbeat_period,<EOL>heartbeat_threshold=self.heartbeat_threshold,<EOL>poll_period=self.poll_period,<EOL>logdir=worker_logdir)<EOL>self.launch_cmd = l_cmd<EOL>logger.debug("<STR_LIT>".format(self.launch_cmd))<EOL>self._scaling_enabled = self.provider.scaling_enabled<EOL>logger.debug("<STR_LIT>", self.provider)<EOL>if hasattr(self.provider, '<STR_LIT>'):<EOL><INDENT>try:<EOL><INDENT>self.scale_out(blocks=self.provider.init_blocks)<EOL><DEDENT>except Exception as e:<EOL><INDENT>logger.error("<STR_LIT>".format(e))<EOL>raise e<EOL><DEDENT><DEDENT>
Compose the launch command and call the scale_out

        This should be implemented in the child classes to take care of
        executor specific oddities.