mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 12:22:47 +00:00 
			
		
		
		
	Add rudimentary job handler
This commit is contained in:
		@@ -3,6 +3,7 @@ from . import scheduler
 | 
				
			|||||||
from flask_login import current_user, login_required
 | 
					from flask_login import current_user, login_required
 | 
				
			||||||
from .. import background_scheduler
 | 
					from .. import background_scheduler
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					import subprocess
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@scheduler.route('/')
 | 
					@scheduler.route('/')
 | 
				
			||||||
@@ -17,6 +18,22 @@ def scheduler():
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        'status': 'queued'
 | 
					        'status': 'queued'
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    job = background_scheduler.add_job(print, trigger='date', args=[job])
 | 
					    job = background_scheduler.add_job(process_job, trigger='date', args=[job])
 | 
				
			||||||
    print(background_scheduler.get_jobs())
 | 
					    print('### New job added for scheduling ###')
 | 
				
			||||||
 | 
					    print(job)
 | 
				
			||||||
    return render_template('scheduler/index.html.j2', title='Scheduler')
 | 
					    return render_template('scheduler/index.html.j2', title='Scheduler')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def process_job(job):
 | 
				
			||||||
 | 
					    input_dir = '/home/pjentsch/%s/input' % job['service']
 | 
				
			||||||
 | 
					    output_dir = '/home/pjentsch/%s/output' % job['service']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    job['status'] = 'running'
 | 
				
			||||||
 | 
					    print('### Job status changed ###')
 | 
				
			||||||
 | 
					    print(job)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    subprocess.run([job['service'], '-i', input_dir, '-l', job['service_args']['lang'], '-o', output_dir, '--keep-intermediates'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    job['status'] = 'finished'
 | 
				
			||||||
 | 
					    print('### Job status changed ###')
 | 
				
			||||||
 | 
					    print(job)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user