Package com.google.appengine.api.taskqueue.dev.QueueStateInfo

Examples of com.google.appengine.api.taskqueue.dev.QueueStateInfo.TaskStateInfo


   */
  @Test
  public void testLateTaskQueueDup() throws Exception {
    final String jobId = startNewTask(settings);

    final TaskStateInfo taskFromQueue = grabNextTaskFromQueue(queueName);

    //Run task
    SettableFuture<Void> result = runInNewThread(taskFromQueue);
    assertEquals(1, StaticBlockingTask.timesRun.get());
    StaticBlockingTask.finishRun.release();
View Full Code Here


   */
  @Test
  public void testDupResultsInWaiting() throws Exception {
    final String jobId = startNewTask(settings);

    final TaskStateInfo taskFromQueue = grabNextTaskFromQueue(queueName);

    //Start task
    SettableFuture<Void> result = runInNewThread(taskFromQueue);
    assertEquals(1, StaticBlockingTask.timesRun.get());
    ShardedJobState state = service.getJobState(jobId);
    assertEquals(new Status(RUNNING), state.getStatus());
    assertEquals(1, state.getActiveTaskCount());
    assertEquals(1, state.getTotalTaskCount());
    assertEquals("Something was left in the queue", 0, getTasks(queueName).size());

    //Duplicate task (first task is still running)
    executeTask(jobId, taskFromQueue); //Should not block because will not execute run.
    TaskStateInfo delayedRetry = grabNextTaskFromQueue(queueName);
    assertTrue(delayedRetry.getEtaDelta() > 0);

    //First task completes
    StaticBlockingTask.finishRun.release();
    result.get();

View Full Code Here

    ShardedJobSettings settings =
        new ShardedJobSettings.Builder().setSliceTimeoutMillis(0).build();
    final String jobId = startNewTask(settings);

    //Run task
    final TaskStateInfo taskFromQueue = grabNextTaskFromQueue(queueName);
    assertEquals(0, getShardRetryCount(taskFromQueue));
    SettableFuture<Void> result = runInNewThread(taskFromQueue);
    assertEquals(1, StaticBlockingTask.timesRun.get());
    ShardedJobState state = service.getJobState(jobId);
    assertEquals(new Status(RUNNING), state.getStatus());
    assertEquals(1, state.getActiveTaskCount());
    assertEquals(1, state.getTotalTaskCount());
    assertEquals("Something was left in the queue", 0, getTasks(queueName).size());
    assertEquals(0, getShardRetryCount(taskFromQueue));

    //Duplicate task
    executeTask(jobId, taskFromQueue); //Should not block because will not execute run.
    assertEquals(1, getShardRetryCount(taskFromQueue));
    state = service.getJobState(jobId);
    assertEquals(new Status(RUNNING), state.getStatus());
    assertEquals(1, state.getActiveTaskCount());
    assertEquals(1, state.getTotalTaskCount());
    assertEquals(1, StaticBlockingTask.timesRun.get());

    //First task completion should not update state
    IncrementalTaskState<IncrementalTask> taskState = lookupTaskState(taskFromQueue);
    StaticBlockingTask.finishRun.release();
    result.get();
    assertAreEqual(taskState, lookupTaskState(taskFromQueue));
    state = service.getJobState(jobId);
    assertEquals(new Status(RUNNING), state.getStatus());

    //Run next task in queue (Which is a re-try of the shard)
    TaskStateInfo retry = grabNextTaskFromQueue(queueName);
    result = runInNewThread(retry);
    assertEquals(2, StaticBlockingTask.timesRun.get());
    state = service.getJobState(jobId);
    assertEquals(new Status(RUNNING), state.getStatus());
    assertEquals(1, state.getActiveTaskCount());
View Full Code Here

  }

  protected TaskStateInfo grabNextTaskFromQueue(String queueName) {
    List<TaskStateInfo> taskInfo = getTasks(queueName);
    assertFalse(taskInfo.isEmpty());
    TaskStateInfo taskStateInfo = taskInfo.get(0);
    taskQueue.deleteTask(queueName, taskStateInfo.getTaskName());
    return taskStateInfo;
  }
View Full Code Here

        exchange.getIn().setHeader("test", "abc");
        exchange.getIn().setHeader(Exchange.HTTP_QUERY, "x=y");
        TaskOptions options = withDefaults();
        binding.writeRequestHeaders(endpoint, exchange, options);
        queue.add(options);
        TaskStateInfo info = getTaskStateInfos().get(0);
        assertEquals("abc", getHeader(info, "test"));
        assertNull(getHeader(info, Exchange.HTTP_QUERY));
    }
View Full Code Here

    public void testWriteRequestBody() {
        exchange.getIn().setBody("test");
        TaskOptions options = withDefaults();
        binding.writeRequestBody(endpoint, exchange, options);
        queue.add(options);
        TaskStateInfo info = getTaskStateInfos().get(0);
        assertEquals("test", info.getBody());
        assertNull("application/octet-stream", getHeader(info , Exchange.CONTENT_TYPE));
    }
View Full Code Here

    @Test
    public void testWriteRequestWithDefaultWorkerRoot() throws Exception {
        exchange.getIn().setBody("anything");
        TaskOptions options = binding.writeRequest(endpoint, exchange, null);
        queue.add(options);
        TaskStateInfo info = getTaskStateInfos().get(0);
        assertEquals("/worker/test", info.getUrl());
    }
View Full Code Here

    public void testWriteRequestWithCustomWorkerRoot() throws Exception {
        GTaskEndpoint custom = createEndpoint("test?workerRoot=lazy");
        exchange.getIn().setBody("anything");
        TaskOptions options = binding.writeRequest(custom, exchange, null);
        queue.add(options);
        TaskStateInfo info = getTaskStateInfos().get(0);
        assertEquals("/lazy/test", info.getUrl());
    }
View Full Code Here

        assertEquals(chunks, queueInfo.getCountTasks());

        // 3. Manually processes the tasks
        List<TaskStateInfo> states = queueInfo.getTaskInfo();
        for (int i = 0; i < states.size(); i++) {
            TaskStateInfo taskInfo = states.get(i);
            Response response = executeTask(taskInfo);
            assertStatus(200, response);
            Map<String, List<String>> params = new QueryStringDecoder("http://dummy/a?" + taskInfo.getBody())
                .getParameters();
            Key first = KeyFactory.stringToKey(params.get(ChunkedRuleProcessor.pSTART_ID)
                                                     .get(0));
            Key last = KeyFactory.stringToKey(params.get(ChunkedRuleProcessor.pLAST_ID)
                                                     .get(0));
View Full Code Here

TOP

Related Classes of com.google.appengine.api.taskqueue.dev.QueueStateInfo.TaskStateInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.