Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
 def delete(self, request):
     query_name = self._get_query_name(request)
     canceled = utils.cancel_query(query_name)
     return self.render(request, {'canceled': canceled})
Esempio n. 6
0
 def stopper(t, db, name):
     canceled = utils.cancel_query(name)
     t.assertTrue(canceled)
Esempio n. 7
0
 def stopper(t, db, name):
     canceled = utils.cancel_query(name)
     t.assertTrue(canceled)
Esempio n. 8
0
 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})
Esempio n. 9
0
 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})