В этом документе описывается, как удалить задачу. Предполагается, что вы настроили Fleet Engine. См. раздел «Настройка Fleet Engine» .
Основы удаления задач
Ваша система может использовать Fleet Engine для удаления задачи в следующих ситуациях:
- Для выполнения операций очистки во время тестирования API Fleet Engine.
- Чтобы немедленно удалить задачу, которая больше не требуется.
Для удаления задачи отправьте запрос, используя gRPC или REST.
Используйте соответствующие учетные данные для служебной учетной записи вашего проекта, как описано в разделе Fleet Engine: Роли служебных учетных записей .
Пример: удалить задачу
В следующем примере показано, как удалить задачу в Fleet Engine.
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TASK_ID = "task-8241890";
String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;
DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);
// Delete task request.
DeleteTaskRequest deleteTaskRequest = DeleteTaskRequest.newBuilder()
.setName(taskName)
.build();
// Error handling.
try {
deliveryService.deleteTask(deleteTaskRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND: // The task doesn't exist.
break;
case FAILED_PRECONDITION: // Task is active and assigned to a delivery vehicle.
break;
case PERMISSION_DENIED:
break;
}
return;
}
Обработка ошибок
При удалении задачи может возникнуть ошибка FAILED_PRECONDITION , в этом случае задача остается активной и назначена транспортному средству доставки. Для продолжения удаления закройте задачу .