Commit 80518e38 authored by Cage, Gregory's avatar Cage, Gregory
Browse files

Add stopped column to job and stopped property to dataset

parent 2a709cb7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -489,6 +489,7 @@ class HDASerializer( # datasets._UnflattenedMetadataDatasetAssociationSerialize
                "url",
                "create_time",
                "update_time",
                "stopped"
            ],
        )
        self.add_view(
+1 −0
Original line number Diff line number Diff line
@@ -662,6 +662,7 @@ def view_show_job(trans, job, full: bool) -> typing.Dict:
                job_stderr=job.job_stderr,
                stderr=job.stderr,
                stdout=job.stdout,
                stopped=job.stopped,
                job_messages=job.job_messages,
                dependencies=job.dependencies,
            )
+12 −0
Original line number Diff line number Diff line
@@ -1353,6 +1353,7 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, Serializable):
    handler = Column(TrimmedString(255), index=True)
    preferred_object_store_id = Column(String(255), nullable=True)
    object_store_id_overrides = Column(JSONType)
    stopped = Column(Boolean, index=True, default=False)

    user = relationship("User")
    galaxy_session = relationship("GalaxySession")
@@ -1717,6 +1718,10 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, Serializable):
            self.state = Job.states.STOPPING
        else:
            self.state = Job.states.STOPPED
        self.stopped = True
        for jtoda in self.output_datasets:
            output_hda = jtoda.dataset
            output_hda.stopped = True

    def mark_deleted(self, track_jobs_in_database=False):
        """
@@ -5268,6 +5273,13 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot
                    jobs_to_unpause.update(jtoda.dataset.unpause_dependent_jobs(jobs=jobs_to_unpause))
        return jobs_to_unpause

    @property
    def stopped(self):
        for jtoda in self.creating_job_associations:
            if jtoda.job.stopped:
                return True
        return False

    @property
    def history_content_type(self):
        return "dataset"
+44 −0
Original line number Diff line number Diff line
"""add stopped column to job model

Revision ID: 0a5669ff37cc
Revises: e0561d5fc8c7
Create Date: 2023-12-04 15:56:26.362315

"""
from alembic import op
import sqlalchemy as sa

from sqlalchemy import (
    Boolean,
    Column,
)

from galaxy.model.database_object_names import build_index_name
from galaxy.model.migrations.util import (
    add_column,
    drop_column,
    drop_index,
    transaction,
)


# revision identifiers, used by Alembic.
revision = '0a5669ff37cc'
down_revision = 'e0561d5fc8c7'
branch_labels = None
depends_on = None

#database object names used in this revision
table_name = "job"
column_name = "stopped"
index_name = build_index_name(table_name, column_name)


def upgrade():
    add_column(table_name, Column(column_name, Boolean(), default=False, index=True))


def downgrade():
    with transaction():
        drop_index(index_name, table_name)
        drop_column(table_name, column_name)