示例#1
0
def port_async_processing_task(galloper_url, galloper_project_id,
                               galloper_token, results, report_name,
                               minio_package_name):
    browsertime_package = f"browsertime_{uuid4()}"
    params = dict(galloper_url=galloper_url,
                  project_id=galloper_project_id,
                  token=galloper_token,
                  bucket=REPORTS_BUCKET,
                  filename=browsertime_package,
                  url=results.results["info"].get("url"),
                  headers=results.results["info"].get("headers")
                  if results.results["info"].get("headers") else {},
                  minio_package_name=minio_package_name,
                  report_filename=report_name,
                  browser="chrome")
    if RABBIT_HOST:
        logger.info("Connecting to Arbiter")
        arbiter = Arbiter(host=RABBIT_HOST,
                          port=RABBIT_PORT,
                          user=RABBIT_USER,
                          password=RABBIT_PASSWORD,
                          start_consumer=False)
        arbiter.apply(task_name='browsertime',
                      queue=RABBIT_QUEUE_NAME,
                      task_kwargs=params)
    return browsertime_package
示例#2
0
 def test_kill_task():
     arbiter = Arbiter(host=arbiter_host, port=5672, user=arbiter_user, password=arbiter_password)
     start = time()
     tasks = arbiter.apply("long_running")
     for task_key in tasks:
         assert arbiter.status(task_key)['state'] == 'initiated'
     sleep(2)  # time for task to settle
     arbiter.kill(tasks[0], sync=True)
     for message in arbiter.wait_for_tasks(tasks):
         assert message['state'] == 'done'
         assert time()-start < 180 # 180 sec is a length of task
     assert arbiter.workers()[arbiter_queue]['available'] == 10
     arbiter.close()
示例#3
0
 def test_task_in_task():
     arbiter = Arbiter(host=arbiter_host, port=5672, user=arbiter_user, password=arbiter_password)
     assert arbiter.workers()[arbiter_queue]['total'] == 10
     task_keys = []
     for _ in range(20):
         task_keys.append(arbiter.apply("simple_add", task_args=[1, 2])[0])
     for task_key in task_keys:
         assert arbiter.status(task_key)['state'] in ('initiated', 'running')
     for message in arbiter.wait_for_tasks(task_keys):
         assert message['state'] == 'done'
         assert message['result'] == 3
     for task_key in task_keys:
         assert arbiter.status(task_key)['state'] == 'done'
         assert arbiter.status(task_key)['result'] == 3
     assert arbiter.workers()[arbiter_queue]['available'] == 10
     arbiter.close()