'Creates the resource by invoking the scheduler TaskRunner.'

def create_convergence(self, template_id, resource_data, engine_id, timeout, progress_callback=None):

    self._calling_engine_id = engine_id
    self.requires = list(set((data.primary_key for data in resource_data.values() if (data is not None))))
    self.current_template_id = template_id
    if (self.stack.adopt_stack_data is None):
        runner = scheduler.TaskRunner(self.create)
    else:
        adopt_data = self.stack._adopt_kwargs(self)
        runner = scheduler.TaskRunner(self.adopt, **adopt_data)
    runner(timeout=timeout, progress_callback=progress_callback)
