Package com.google.appengine.api.taskqueue

Examples of com.google.appengine.api.taskqueue.Queue


   *            the evaluation name (Pre-condition: The parameters must be
   *            valid)
   */
  public void informStudentsOfChanges(List<Student> studentList,
      String courseID, String evaluationName) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    DateFormat df = new SimpleDateFormat("dd/MM/yyyy HHmm");

    Evaluation evaluation = getEvaluation(courseID, evaluationName);

    Date start = evaluation.getStart();
    Date deadline = evaluation.getDeadline();
    String instructions = evaluation.getInstructions();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "informstudentsofevaluationchanges")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("evaluationname", evaluationName)
          .param("start", df.format(start))
          .param("deadline", df.format(deadline))
          .param("instr", instructions));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here


   * @param evaluationName
   *            the evaluation name
   */
  public void informStudentsOfEvaluationOpening(List<Student> studentList,
      String courseID, String evaluationName) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "informstudentsofevaluationopening")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("evaluationname", evaluationName));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   *            the evaluation name
   */
  private void informStudentsOfPublishingOfEvaluationResults(
      List<Student> studentList, String courseID, String name) {

    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "informstudentspublishedevaluation")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID).param("evaluationname", name));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   * @param deadline
   *            the evaluation deadline (Pre-condition: Must not be null)
   */
  public void remindStudents(List<Student> studentList, String courseID,
      String evaluationName, Date deadline) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    DateFormat df = new SimpleDateFormat("dd/MM/yyyy HHmm");

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "remindstudents")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("evaluationname", evaluationName)
          .param("deadline", df.format(deadline)));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   * @param deadline
   *            the deadline of the team forming session
   */
  public void informStudentsOfTeamFormingSessionOpening(List<Student> studentList,
      String courseID, Date deadline) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "informstudentsofevaluationopening")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("deadline", deadline.toString()));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   *
   * @param deadline
   *            the evaluation deadline (Pre-condition: Must not be null)
   */
  public void remindStudents(List<Student> studentList, String courseID, Date deadline) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    DateFormat df = new SimpleDateFormat("dd/MM/yyyy HHmm");

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "remindstudents")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("deadline", df.format(deadline)));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   * @param courseID
   *            the course ID (Pre-condition: The parameters must be valid)
   */
  public void informStudentsOfChanges(List<Student> studentList,
      String courseID, Date endTime) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    DateFormat df = new SimpleDateFormat("dd/MM/yyyy HHmm");

    TeamFormingSession teamFormingSession = getTeamFormingSession(courseID, endTime);

    Date start = teamFormingSession.getStart();
    Date deadline = teamFormingSession.getDeadline();
    String instructions = teamFormingSession.getInstructions();
    String profileTemplate = teamFormingSession.getProfileTemplate();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder.withUrl("/email")
          .param("operation", "informstudentsofevaluationchanges")
          .param("email", s.getEmail()).param("name", s.getName())
          .param("courseid", courseID)
          .param("start", df.format(start))
          .param("deadline", df.format(deadline))
          .param("instr", instructions)
          .param("profileTemplate", profileTemplate));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }
  }
View Full Code Here

   *            the name of the coordinator (Precondition: Must not be null)
   */
  public void sendRegistrationKeys(List<Student> studentList,
      String courseID, String courseName, String coordinatorName,
      String coordinatorEmail) {
    Queue queue = QueueFactory.getQueue("email-queue");
    List<TaskOptions> taskOptionsList = new ArrayList<TaskOptions>();

    for (Student s : studentList) {
      // There is a limit of 100 tasks per batch addition to Queue in
      // Google App
      // Engine
      if (taskOptionsList.size() == 100) {
        queue.add(taskOptionsList);
        taskOptionsList = new ArrayList<TaskOptions>();
      }

      taskOptionsList.add(TaskOptions.Builder
          .withUrl("/email")
          .param("operation", "sendregistrationkey")
          .param("email", s.getEmail())
          .param("regkey",
              KeyFactory.createKeyString(
                  Student.class.getSimpleName(),
                  s.getRegistrationKey()))
          .param("courseid", courseID)
          .param("coursename", courseName).param("name", s.getName())
          .param("coordinatorname", coordinatorName)
          .param("coordinatoremail", coordinatorEmail));
    }

    if (!taskOptionsList.isEmpty()) {
      queue.add(taskOptionsList);
    }

  }
View Full Code Here

    List<String> devices = Datastore.getDevices();
    String status;
    if (devices.isEmpty()) {
      status = "Message ignored as there is no device registered!";
    } else {
      Queue queue = QueueFactory.getQueue("gcm");
      // NOTE: check below is for demonstration purposes; a real application
      // could always send a multicast, even for just one recipient
      if (devices.size() == 1) {
        // send a single message using plain post
        String device = devices.get(0);
        queue.add(withUrl("/send").param(
            SendMessageServlet.PARAMETER_DEVICE, device));
        status = "Single message queued for registration id " + device;
      } else {
        // send a multicast message using JSON
        // must split in chunks of 1000 devices (GCM limit)
        int total = devices.size();
        List<String> partialDevices = new ArrayList<String>(total);
        int counter = 0;
        int tasks = 0;
        for (String device : devices) {
          counter++;
          partialDevices.add(device);
          int partialSize = partialDevices.size();
          if (partialSize == Datastore.MULTICAST_SIZE || counter == total) {
            String multicastKey = Datastore.createMulticast(partialDevices);
            logger.fine("Queuing " + partialSize + " devices on multicast " +
                multicastKey);
            TaskOptions taskOptions = TaskOptions.Builder
                .withUrl("/send")
                .param(SendMessageServlet.PARAMETER_MULTICAST, multicastKey)
                .method(Method.POST);
            queue.add(taskOptions);
            partialDevices.clear();
            tasks++;
          }
        }
        status = "Queued tasks to send " + tasks + " multicast messages to " +
View Full Code Here

            // Already done
          }
        }
      };
      String queueName = Optional.fromNullable(getOnQueue()).or("default");
      Queue queue = QueueFactory.getQueue(queueName);
      queue.add(TaskOptions.Builder.withPayload(deleteRecordsTask).countdownMillis(10000)
          .retryOptions(RetryOptions.Builder.withMinBackoffSeconds(2).maxBackoffSeconds(20)));
      return immediate(value);
    }
View Full Code Here

TOP

Related Classes of com.google.appengine.api.taskqueue.Queue

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.