private void scheduleTask()

in src/main/java/com/google/cloud/run/kafkascaler/SelfScheduler.java [125:147]


  private void scheduleTask(Instant time, String scalerUrl) {
    OidcToken oidcToken =
        OidcToken.newBuilder()
            .setServiceAccountEmail(config.invokerServiceAccountEmail())
            .setAudience(scalerUrl)
            .build();
    HttpRequest httpRequest =
        HttpRequest.newBuilder()
            .setUrl(scalerUrl)
            .setHttpMethod(HttpMethod.POST)
            .setOidcToken(oidcToken)
            .putHeaders(SELF_SCHEDULED_HEADER_KEY, "true")
            .build();
    Timestamp scheduleTime =
        Timestamp.newBuilder().setSeconds(time.getEpochSecond()).setNanos(time.getNano()).build();
    Task task = Task.newBuilder().setHttpRequest(httpRequest).setScheduleTime(scheduleTime).build();

    try {
      var unused = cloudTasks.createTask(config.fullyQualifiedCloudTaskQueueName(), task);
    } catch (RuntimeException ex) {
      logger.atSevere().withCause(ex).log("Failed to create task");
    }
  }