diff --git a/api.py b/api.py index 27f07a603cdb2d98a484b33070aff233c828c5e3..c9e2dc3ec0c74a3b0906b8fb611c78cf7d105e32 100644 --- a/api.py +++ b/api.py @@ -82,6 +82,7 @@ routes = [ webapp2_extras.routes.PathPrefixRoute(r'/api/jobs', [ webapp2.Route(r'/next', jobs.Jobs, handler_method='next', methods=['GET']), webapp2.Route(r'/count', jobs.Jobs, handler_method='count', methods=['GET']), + webapp2.Route(r'/addTestJob', jobs.Jobs, handler_method='addTestJob', methods=['GET']), webapp2.Route(r'/<:[^/]+>', jobs.Job, name='job'), ]), webapp2.Route(r'/api/apps', apps.Apps), diff --git a/jobs.py b/jobs.py index ae135f9f6c5ec27d55d54cba2f4aeacec785d20e..ba6deec7a1d8a434b03799f662be9172757faf55 100644 --- a/jobs.py +++ b/jobs.py @@ -135,6 +135,13 @@ class Jobs(base.RequestHandler): return self.app.db.jobs.count() + def addTestJob(self): + """Adds a harmless job for testing purposes. Intentionally equivalent return to createJob.""" + if not self.superuser_request: + self.abort(401, 'Request requires superuser') + + return createJob(self.app.db, 'dcm2nii', 'acquisition', '55bf861e6941f040cf8d6939') + def next(self): """ Atomically change a 'pending' job to 'running' and returns it. Updates timestamp. @@ -144,8 +151,6 @@ class Jobs(base.RequestHandler): if not self.superuser_request: self.abort(401, 'Request requires superuser') - # createJob(self.app.db, 'dcm2nii', 'session', '55a58db95f22580812902b9e') - # REVIEW: is this atomic? # REVIEW: semantics are not documented as to this mutation's behaviour when filter matches no docs. result = self.app.db.jobs.find_one_and_update(