def submit()

in src/pydolphinscheduler/core/workflow.py [0:0]


    def submit(self) -> int:
        """Submit Workflow instance to java gateway."""
        self._ensure_side_model_exists()
        self._pre_submit_check()

        # resource should be created before workflow
        if len(self.resource_list) > 0:
            for res in self.resource_list:
                res.user_name = self._user
                res.create_or_update_resource()

        self._workflow_code = gateway.create_or_update_workflow(
            self._user,
            self._project,
            self.name,
            str(self.description) if self.description else "",
            json.dumps(self.param_json),
            self.warning_type,
            self.warning_group_id,
            self.execution_type,
            self.timeout,
            self.worker_group,
            self.release_state,
            # TODO add serialization function
            json.dumps(self.task_relation_json),
            json.dumps(self.task_definition_json),
            json.dumps(self.schedule_json) if self.schedule_json else None,
            self.online_schedule,
            None,
        )
        return self._workflow_code