def run_cancel_test(self, runner, stopper): t1 = Thread(target=runner, args=(self, self.db, self.name)) t2 = Thread(target=stopper, args=(self, self.db, self.name)) t1.start() # Delay so the query starts running. time.sleep(1) t2.start() # Block until the threads have finished. t1.join() t2.join() # Canceling again should be a no-op.... self.assertIsNone(utils.cancel_query(self.name)) # Ensure a new working connection can be opened under the # same named. conn = utils.named_connection(self.name, db=self.db) c = conn.cursor() c.execute('SELECT (1)') val, = c.fetchone() self.assertEqual(val, 1)
def cancel_job(job_id): """ Cancel the job and its associated query if they exist. Args: job_id(uuid): The ID of the job to cancel Returns: The cancellation result of the job's query if it had one. If the job could not be found or the job had no query, this method returns None. """ job = get_job(job_id) if job is None: return None result = None query_name = job.meta.get('query_name') if query_name: canceled = utils.cancel_query(query_name) result = { 'canceled': canceled } job.delete() return result
def cancel_job(job_id): """ Cancel the job and its associated query if they exist. Args: job_id(uuid): The ID of the job to cancel Returns: The cancellation result of the job's query if it had one. If the job could not be found or the job had no query, this method returns None. """ job = get_job(job_id) if job is None: return None result = None query_name = job.meta.get('query_name') if query_name: canceled = utils.cancel_query(query_name) result = {'canceled': canceled} job.delete() return result
def delete(self, request): query_name = self._get_query_name(request) canceled = utils.cancel_query(query_name) return self.render(request, {'canceled': canceled})
def stopper(t, db, name): canceled = utils.cancel_query(name) t.assertTrue(canceled)
def delete(self, request, export_type, **kwargs): query_name = self._get_query_name(request, export_type) canceled = utils.cancel_query(query_name) return self.render(request, {'canceled': canceled})
def delete(self, request, **kwargs): query_name = self._get_query_name(request) canceled = query_utils.cancel_query(query_name) return self.render(request, {'canceled': canceled})