Loading autocnet/graph/cluster_submit_single.py +13 −4 Original line number Diff line number Diff line import json import logging import sys # Set the logging level logging.basicConfig(level='INFO') logger = logging.getLogger() from autocnet.graph.node import NetworkNode from autocnet.graph.edge import NetworkEdge from autocnet.utils.utils import import_func Loading @@ -8,6 +13,8 @@ from autocnet.utils.serializers import object_hook from autocnet.io.db.model import Measures, Points, Overlay, Images from autocnet.io.db.connection import retry, new_connection from sqlalchemy.orm import joinedload apply_iterable_options = { 'measures' : Measures, 'measure' : Measures, Loading Loading @@ -62,11 +69,13 @@ def _instantiate_row(msg, session): """ # Get the dict mapping iterable keyword types to the objects obj = apply_iterable_options[msg['along']] res = session.query(obj).filter(getattr(obj, 'id')==msg['id']).one() session.expunge_all() # Disconnect the object from the session res = session.query(obj). \ filter(getattr(obj, 'id')==msg['id']). \ options(joinedload('*')). \ one() session.expunge_all() return res @retry() def execute_func(func, *args, **kwargs): return func(*args, **kwargs) Loading Loading @@ -133,7 +142,7 @@ def process(msg): def main(): msg = ''.join(sys.argv[1:]) result = process(msg) print(result) logging.info('Result: ', result) if __name__ == '__main__': main() autocnet/io/db/model.py +2 −2 Original line number Diff line number Diff line Loading @@ -436,7 +436,7 @@ class Points(Base, BaseMixin): spatial_index=False)) measures = relationship('Measures', order_by="asc(Measures.id)", backref=backref('point', lazy='joined'), back_populates="point", passive_deletes=True) reference_index = Column("referenceIndex", Integer, default=0) _residuals = Column("residuals", ARRAY(Float)) Loading Loading @@ -690,7 +690,7 @@ class Measures(BaseMixin, Base): linesigma = Column(Float) weight = Column(Float, default=None) rms = Column(Float) point = relationship("Points", back_populates="measures") _default_fields = ['id', 'pointid', 'imageid', 'serial', 'measuretype', 'ignore', 'line', 'sample', 'template_metric', 'template_shift', 'phase_error', Loading autocnet/io/db/utils.py +7 −6 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ from contextlib import nullcontext import logging from sqlalchemy.sql.expression import bindparam from sqlalchemy.orm import joinedload from autocnet.io.db.connection import retry from autocnet.io.db.model import Images, Overlay, Points, Measures from autocnet.graph.node import NetworkNode Loading @@ -11,7 +11,7 @@ from autocnet.graph.node import NetworkNode log = logging.getLogger(__name__) @retry() #@retry() def update_measures(ncg, session, measures_iterable_to_update): if not measures_iterable_to_update: return Loading @@ -28,7 +28,7 @@ def update_measures(ncg, session, measures_iterable_to_update): session.execute(stmt, measures_iterable_to_update) return @retry() #@retry() def ignore_measures(ncg, session, measures_iterable_to_ignore, chooser): with ncg.session_scope() if ncg is not None else nullcontext(session) as session: measures_to_set_false = [{'_id':i} for i in measures_iterable_to_ignore] Loading Loading @@ -83,9 +83,10 @@ def get_overlap(ncg, session, overlapid): @retry(wait_time=30) def get_point(ncg, session, pointid): with ncg.session_scope() if ncg is not None else nullcontext(session) as session: point = session.query(Points).filter(Points.id == pointid).one() # Get the measures as well. _ = point.measures point = session.query(Points). \ filter(Points.id == pointid). \ options(joinedload('*')). \ one() session.expunge_all() return point Loading Loading
autocnet/graph/cluster_submit_single.py +13 −4 Original line number Diff line number Diff line import json import logging import sys # Set the logging level logging.basicConfig(level='INFO') logger = logging.getLogger() from autocnet.graph.node import NetworkNode from autocnet.graph.edge import NetworkEdge from autocnet.utils.utils import import_func Loading @@ -8,6 +13,8 @@ from autocnet.utils.serializers import object_hook from autocnet.io.db.model import Measures, Points, Overlay, Images from autocnet.io.db.connection import retry, new_connection from sqlalchemy.orm import joinedload apply_iterable_options = { 'measures' : Measures, 'measure' : Measures, Loading Loading @@ -62,11 +69,13 @@ def _instantiate_row(msg, session): """ # Get the dict mapping iterable keyword types to the objects obj = apply_iterable_options[msg['along']] res = session.query(obj).filter(getattr(obj, 'id')==msg['id']).one() session.expunge_all() # Disconnect the object from the session res = session.query(obj). \ filter(getattr(obj, 'id')==msg['id']). \ options(joinedload('*')). \ one() session.expunge_all() return res @retry() def execute_func(func, *args, **kwargs): return func(*args, **kwargs) Loading Loading @@ -133,7 +142,7 @@ def process(msg): def main(): msg = ''.join(sys.argv[1:]) result = process(msg) print(result) logging.info('Result: ', result) if __name__ == '__main__': main()
autocnet/io/db/model.py +2 −2 Original line number Diff line number Diff line Loading @@ -436,7 +436,7 @@ class Points(Base, BaseMixin): spatial_index=False)) measures = relationship('Measures', order_by="asc(Measures.id)", backref=backref('point', lazy='joined'), back_populates="point", passive_deletes=True) reference_index = Column("referenceIndex", Integer, default=0) _residuals = Column("residuals", ARRAY(Float)) Loading Loading @@ -690,7 +690,7 @@ class Measures(BaseMixin, Base): linesigma = Column(Float) weight = Column(Float, default=None) rms = Column(Float) point = relationship("Points", back_populates="measures") _default_fields = ['id', 'pointid', 'imageid', 'serial', 'measuretype', 'ignore', 'line', 'sample', 'template_metric', 'template_shift', 'phase_error', Loading
autocnet/io/db/utils.py +7 −6 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ from contextlib import nullcontext import logging from sqlalchemy.sql.expression import bindparam from sqlalchemy.orm import joinedload from autocnet.io.db.connection import retry from autocnet.io.db.model import Images, Overlay, Points, Measures from autocnet.graph.node import NetworkNode Loading @@ -11,7 +11,7 @@ from autocnet.graph.node import NetworkNode log = logging.getLogger(__name__) @retry() #@retry() def update_measures(ncg, session, measures_iterable_to_update): if not measures_iterable_to_update: return Loading @@ -28,7 +28,7 @@ def update_measures(ncg, session, measures_iterable_to_update): session.execute(stmt, measures_iterable_to_update) return @retry() #@retry() def ignore_measures(ncg, session, measures_iterable_to_ignore, chooser): with ncg.session_scope() if ncg is not None else nullcontext(session) as session: measures_to_set_false = [{'_id':i} for i in measures_iterable_to_ignore] Loading Loading @@ -83,9 +83,10 @@ def get_overlap(ncg, session, overlapid): @retry(wait_time=30) def get_point(ncg, session, pointid): with ncg.session_scope() if ncg is not None else nullcontext(session) as session: point = session.query(Points).filter(Points.id == pointid).one() # Get the measures as well. _ = point.measures point = session.query(Points). \ filter(Points.id == pointid). \ options(joinedload('*')). \ one() session.expunge_all() return point Loading