Add user id to path.

This commit is contained in:
Patrick Jentsch 2019-08-06 14:54:00 +02:00
parent 2ed63d9a5f
commit 338e4111c2
2 changed files with 17 additions and 10 deletions

View File

@ -34,7 +34,10 @@ def ocr():
db.session.add(ocr_job) db.session.add(ocr_job)
db.session.commit() db.session.commit()
dir = os.path.join(app.config['OPAQUE_STORAGE'], 'jobs', str(ocr_job.id)) dir = os.path.join(app.config['OPAQUE_STORAGE'],
str(ocr_job.user_id),
'jobs',
str(ocr_job.id))
try: try:
os.makedirs(dir) os.makedirs(dir)
@ -67,9 +70,6 @@ def nlp():
new_nlp_job_form = NewNLPJobForm() new_nlp_job_form = NewNLPJobForm()
if new_nlp_job_form.validate_on_submit(): if new_nlp_job_form.validate_on_submit():
app = current_app._get_current_object() app = current_app._get_current_object()
id = hashlib.md5(
(current_user.username + '_' + datetime.now().isoformat()).encode()
).hexdigest()
nlp_job = Job() nlp_job = Job()
nlp_job.title = new_nlp_job_form.title.data nlp_job.title = new_nlp_job_form.title.data
nlp_job.description = new_nlp_job_form.description.data nlp_job.description = new_nlp_job_form.description.data
@ -84,7 +84,11 @@ def nlp():
nlp_job.status = "queued" nlp_job.status = "queued"
db.session.add(nlp_job) db.session.add(nlp_job)
db.session.commit() db.session.commit()
dir = os.path.join(app.config['OPAQUE_STORAGE'], 'jobs', str(nlp_job.id))
dir = os.path.join(app.config['OPAQUE_STORAGE'],
str(nlp_job.user_id),
'jobs',
str(nlp_job.id))
try: try:
os.makedirs(dir) os.makedirs(dir)

View File

@ -1,6 +1,7 @@
import docker import docker
import time import time
import json import json
import os
class Swarm: class Swarm:
@ -27,9 +28,9 @@ class Swarm:
service_args = json.loads(job.service_args) service_args = json.loads(job.service_args)
ressources = json.loads(job.ressources) ressources = json.loads(job.ressources)
_command = (job.service _command = (job.service
+ ' -i /files/{}'.format(job.id) + ' -i /files'
+ ' -l {}'.format(service_args['lang']) + ' -l {}'.format(service_args['lang'])
+ ' -o /files/{}/output'.format(job.id) + ' -o /files/output'
+ ' ' + ' '.join(service_args['args'])) + ' ' + ' '.join(service_args['args']))
_constraints = ['node.role==worker'] _constraints = ['node.role==worker']
_image = 'gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/{}:{}'.format( _image = 'gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/{}:{}'.format(
@ -37,9 +38,11 @@ class Swarm:
service_args['version'] service_args['version']
) )
_labels = {'service': job.service} _labels = {'service': job.service}
_mounts = [ _mounts = [os.path.join('/home/compute/mnt/opaque',
'/home/compute/mnt/opaque/jobs:/files:rw', str(job.user_id),
] 'jobs',
str(job.id))
+ ':/files:rw']
_name = job.id _name = job.id
''' '''
' The Docker SDK for Python expects the cpu_reservation value to be ' The Docker SDK for Python expects the cpu_reservation value to be