Exemple #1
0
 def test_lease_timeout(self):
     loop = asyncio.new_event_loop()
     client = WorkqClient('127.0.0.1', 9922, loop)
     try:
         loop.run_until_complete(client.connect())
         with self.assertRaises(WorkqTimeout):
             leased_job = loop.run_until_complete(client.lease(("ping1", ), 100))
             print(leased_job)
     finally:
         loop.close()
Exemple #2
0
 def test_delete_with_error(self):
     loop = asyncio.new_event_loop()
     client = WorkqClient('127.0.0.1', 9922, loop)
     jobid = uuid.uuid4()
     try:
         loop.run_until_complete(client.connect())
         with self.assertRaises(WorkqJobIdNotFound):
             loop.run_until_complete(client.delete(jobid))
     finally:
         loop.close()
Exemple #3
0
 def test_delete(self):
     loop = asyncio.new_event_loop()
     client = WorkqClient('127.0.0.1', 9922, loop)
     jobid = uuid.uuid4()
     job = BackgroundJob(jobid, "test.complete1", 5000, 60000, "hello bg job")
     try:
         loop.run_until_complete(client.connect())
         loop.run_until_complete(client.add(job))
         loop.run_until_complete(client.delete(job.id))
     finally:
         loop.close()
Exemple #4
0
def main():
    loop = asyncio.new_event_loop()
    client = WorkqClient('127.0.0.1', 9922, loop)
    jobid = uuid.uuid4()
    job = ForegroundJob(jobid, "ping1", 5000, 60000, "hello fg job")
    try:
        loop.run_until_complete(client.connect())
        results = loop.run_until_complete(client.run(job))
    finally:
        loop.close()
    for result in results:
        print("job: %s %s %s" % (result.id, result.name, result.payload))
Exemple #5
0
def main():
    loop = asyncio.new_event_loop()
    client = WorkqClient('127.0.0.1', 9922, loop)
    loop.run_until_complete(client.connect())
    while True:
        try:
            jobs = loop.run_until_complete(client.lease(('ping1', ), 10000))
        except WorkqTimeout:
            continue
        for job in jobs:
            print("job-id: %s, %s, %s" % (job.id, job.name, job.payload))
            loop.run_until_complete(client.complete(job.id, 'ok'))
    loop.close()
Exemple #6
0
 def test_add(self):
     loop = asyncio.new_event_loop()
     client = WorkqClient('127.0.0.1', 9922, loop)
     jobid = uuid.uuid4()
     job = BackgroundJob(jobid, "ping1", 5000, 60000, "hello bg job")
     try:
         loop.run_until_complete(client.connect())
         loop.run_until_complete(client.add(job))
         leased_job = loop.run_until_complete(client.lease(("ping1", ), 10000))
         self.assertEqual(len(leased_job), 1)
         self.assertEqual(leased_job[0].id, "%s" % jobid)
         self.assertEqual(leased_job[0].name, "ping1")
     finally:
         loop.close()
Exemple #7
0
 def test_schedule(self):
     loop = asyncio.new_event_loop()
     client = WorkqClient('127.0.0.1', 9922, loop)
     jobid = uuid.uuid4()
     t = datetime.utcnow() + timedelta(seconds=1)
     job = ScheduledJob(jobid, "ping1", 5000, 60000, t, "hello bg job")
     try:
         loop.run_until_complete(client.connect())
         loop.run_until_complete(client.add(job))
         leased_job = loop.run_until_complete(client.lease(("ping1", ), 10000))
         self.assertEqual(len(leased_job), 1)
         self.assertEqual(leased_job[0].id, "%s" % jobid)
         self.assertEqual(leased_job[0].name, "ping1")
     finally:
         loop.close()
Exemple #8
0
def main():
    loop = asyncio.new_event_loop()
    client = WorkqClient('127.0.0.1', 9922, loop)
    jobid = uuid.uuid4()
    t = datetime.utcnow() + timedelta(seconds=1)
    job = ScheduledJob(jobid, "ping1", 5000, 60000, t, "hello fg job")
    try:
        loop.run_until_complete(client.connect())
        loop.run_until_complete(client.schedule(job))
        time.sleep(2)
        results = loop.run_until_complete(client.result(jobid, 10000))
        for result in results:
            print(result.success, result.result)
    finally:
        loop.close()
Exemple #9
0
    def test_run(self):
        self.skipTest("broken")
        loop = asyncio.new_event_loop()
        client = WorkqClient('127.0.0.1', 9922, loop)
        jobid = uuid.uuid4()
        job = ForegroundJob(jobid, "fg1", 5000, 60000, "hello fg job")

        @asyncio.coroutine
        def parallel(client, loop):
            run_task = asyncio.ensure_future(client.run(job), loop=loop)
            lease_task = asyncio.ensure_future(client.lease(("fg1", ), 10000), loop=loop)
            tasks = [run_task, lease_task]
            results = yield from asyncio.gather(*tasks, loop=loop)
            return results
        try:
            loop.run_until_complete(client.connect())
            loop.run_until_complete(parallel(client, loop))
        finally:
            loop.close()