Ejemplo n.º 1
0
    def database_create(cls, user, name, plan, environment, team, project,
                        description, subscribe_to_email_events=True,
                        register_user=True, is_protected=False, retry_from=None):
        task_params = {
            'task_name': "create_database",
            'arguments': "Database name: {}".format(name),
        }
        task_params.update(**{'user': user} if register_user else {})
        task = cls.create_task(task_params)

        try:
            get_deploy_instances_size(plan.replication_topology.class_path)
        except NotImplementedError:
            return create_database.delay(
                name=name, plan=plan, environment=environment, team=team,
                project=project, description=description,
                subscribe_to_email_events=subscribe_to_email_events,
                task_history=task, user=user, is_protected=is_protected
            )
        else:
            return create_database_with_retry(
                name=name, plan=plan, environment=environment, team=team,
                project=project, description=description, task=task,
                subscribe_to_email_events=subscribe_to_email_events,
                is_protected=is_protected, user=user, retry_from=retry_from
            )
Ejemplo n.º 2
0
def create_database_with_retry(
    name, plan, environment, team, project, description, task,
    subscribe_to_email_events, is_protected, user, retry_from
):
    from maintenance.tasks import create_database
    return create_database.delay(
        name=name, plan=plan, environment=environment, team=team,
        project=project, description=description, task=task,
        subscribe_to_email_events=subscribe_to_email_events,
        is_protected=is_protected, user=user, retry_from=retry_from
    )