    def run(self, *task_names:str, execution=None, obey_cond=False):
        """Run specific task(s) manually.

        This method starts up the scheduler but only the given
        task is run. Useful to manually run a task while using
        the setup/teardown and parameters of the session and
        scheduler.

        Parameters
        ----------
        *task_names : variable length str args
            Names of the tasks to run.
        execution : str
            Execution method for all of the tasks.
            By default, whatever set to each task
        obey_cond : bool
            Whether to obey the ``start_cond`` or
            force a run regardless. By default, False

        .. warning::

            This is not meant to be called by tasks or the system
            itself. Just to run specific tasks when the system itself
            is not running.
        """
        self._set_configs()
        # To prevent circular import
        from rocketry.conditions.scheduler import SchedulerCycles

        orig_vals = {}
        for task in self.tasks:
            name = task.name
            orig_vals[name] = {
                attr: val for attr, val in task.__dict__.items()
                if attr not in ("status", "last_run", "last_success", "last_fail", "last_terminate")
            }
            if name in task_names:
                if not obey_cond:
                    task.run()
                if execution is not None:
                    task.execution = execution
            else:
                task.disabled = True

        orig_shut_cond = self.config.shut_cond
        try:
            self.config.shut_cond = SchedulerCycles() >= 1
            self.start()
        finally:
            self.config.shut_cond = orig_shut_cond
            # Set back the disabled, execution etc.
            for task in self.tasks:
                task.__dict__.update(orig_vals[task.name])
Run specific task(s) manually.

This method starts up the scheduler but only the given
task is run. Useful to manually run a task while using
the setup/teardown and parameters of the session and
scheduler.

Parameters
----------
*task_names : variable length str args
Names of the tasks to run.
execution : str
Execution method for all of the tasks.
By default, whatever set to each task
obey_cond : bool
Whether to obey the ``start_cond`` or
force a run regardless. By default, False

.. warning::

This is not meant to be called by tasks or the system
itself. Just to run specific tasks when the system itself
is not running.
rocketry/session.py