mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-11-15 01:05:42 +00:00
pass job object instead of id.
This commit is contained in:
parent
a5687a3f1b
commit
1fa9cbc586
16
app/swarm.py
16
app/swarm.py
@ -1,5 +1,3 @@
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
import docker
|
||||
import json
|
||||
import os
|
||||
@ -13,14 +11,13 @@ class Swarm:
|
||||
self.docker = docker.from_env()
|
||||
|
||||
def init_app(self, app):
|
||||
engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI'])
|
||||
self.Session = sessionmaker(bind=engine)
|
||||
pass
|
||||
|
||||
'''
|
||||
' Swarm mode is intendet to run containers which serve a non terminating
|
||||
' service like a webserver. For processing an occuring job it is necessary
|
||||
' to use a one-shot container, which stops after the wrapped job process is
|
||||
' completly executed. In order to run these one-shot containers in Swarm
|
||||
' to use an one-shot container, which stops after the wrapped job process
|
||||
' is completly executed. In order to run these one-shot containers in Swarm
|
||||
' mode, the following run method is implemented analog to the presented
|
||||
' implementation in Alex Ellis' blog post "One-shot containers on Docker
|
||||
' Swarm"¹.
|
||||
@ -28,13 +25,10 @@ class Swarm:
|
||||
' ¹ https://blog.alexellis.io/containers-on-swarm/
|
||||
'''
|
||||
|
||||
def run(self, job_id):
|
||||
def run(self, job):
|
||||
'''
|
||||
Input is a job id.
|
||||
Input is a job.
|
||||
'''
|
||||
from .models import Job
|
||||
session = self.Session()
|
||||
job = session.query(Job).filter_by(id=job_id).first()
|
||||
# Prepare argument values needed for the service creation.
|
||||
service_args = json.loads(job.service_args)
|
||||
_command = (job.service
|
||||
|
Loading…
Reference in New Issue
Block a user