Neste documento, descrevemos o serviço de tarefas agendadas no Fleet Engine. Ele pressupõe você leu O que é o Fleet Engine? e está ciente das frotas específicas do Compute Engine de que você precisa.
Ao ler esta documentação, tenha em mente o seguinte:
- Você cria tarefas e as associa a uma parada de veículo como uma forma de modelar a associação real entre a tarefa e o local onde o o veículo deve parar para que o motorista possa concluir a tarefa. Leia Introdução aos veículos para entender como os veículos funcionam no Fleet Engine.
- O Fleet Engine para tarefas programadas usa os seguintes recursos: um
Task
e umDeliveryVehicle
. O Fleet Engine oferece um serviço gRPC e um REST - interface:
O que é uma tarefa agendada?
Uma tarefa agendada no Fleet Engine representa uma ação individual a ser concluído por um motorista usando um veículo dentro do contexto mais amplo de uma na operação de transporte. Define o objetivo específico do motorista. Exemplo:
- entregar um produto em uma residência
- para retirar um pacote e devolver ao depósito de remessas
- parar em um local para prestar serviço no local a um cliente
- fazer uma parada programada para abastecer o veículo;
Elementos da tarefa
A imagem a seguir ilustra esses elementos de tarefa em uma tabela padrão em um veículo.
Campos de tarefas básicas
Campo | Descrição |
---|---|
Tipo | Define o tipo de ação associado à tarefa. |
ID da tarefa | String que identifica exclusivamente a tarefa no sistema. |
Local planejado | Especifica o local pretendido onde a tarefa deve ser executada. Este local nem sempre é o mesmo planejado para o parada de veículo. |
Estado | Indica se a tarefa está aberta ou fechada. |
Resultado da tarefa | Indica se a tarefa foi bem-sucedida ou falhou. |
Modelo de dados para tarefas
Os diagramas a seguir ilustram o modelo de dados do recurso Task
ao lado do diagrama para o recurso DeliveryVehicle
associado. Você pode
analisar os dois diagramas para explorar as relações entre os dois recursos
tenha em mente o seguinte:
- Local planejado: as tarefas e paradas de veículos têm locais planejados.
diferentes uns dos outros.
- Para tarefas, um local planejado indica onde o motorista solicitou. deve ocorrer. Por exemplo, 15 entregas de pacotes em uma loja complexo exigem a entrega para diferentes salas de correio dentro mesmo complexo.
- Para paradas de veículos, o local planejado indica a parada da veículo enquanto o motorista conclui as tarefas. Por exemplo, o veículo para na entrada de um complexo de apartamentos, e o motorista entrega os pacotes manualmente em salas de correio separadas dentro do complexo.
- Estado: as tarefas e as paradas de veículos têm um campo state, diferente de
uns aos outros.
- O estado de uma parada reflete o progresso do veículo em em relação à parada, usado para fins de rastreamento da frota.
- O estado da tarefa indica se ela está ativa ou não. Isso impacta outras operações a serem realizadas nas tarefas, como definir seu resultado final ou atribuí-lo a um veículo.
Resultado da tarefa: o resultado da tarefa é um campo importante no modelo de dados. porque é usado para indicar o sucesso ou a falha de uma tarefa, independente do estado da tarefa.
Códigos:
- Quando você atribui uma tarefa a um veículo, o motor da frota preenche o
deliveryVehicleId
. Este campo somente leitura indica o veículo a para o qual a tarefa é atribuída. - Os IDs de tarefas são identificadores exclusivos em todas as tarefas no seu sistema.
- Os IDs de rastreamento identificam uma tarefa com a finalidade de rastrear o frete.
- Quando você atribui uma tarefa a um veículo, o motor da frota preenche o
Modelo de dados de tarefas
Modelo de dados do veículo
IDs de tarefas
Assim como os IDs de veículo no Fleet Engine, cada uma das tarefas precisa conter um ID para
diferenciá-las de outras tarefas dentro do sistema. Você faz referência e gerencia
todas as tarefas em seu fluxo de trabalho pelo ID. Você cria esses IDs usando o método
CreateTaskRequest
e fornecendo uma string de ID que esteja em conformidade com a
requisitos descritos nesta seção.
Essa string compreende parte do nome do próprio recurso de tarefa, uma
campo somente saída no objeto Task
. Isso é análogo à forma como o Fleet Engine
constrói recursos de nome de veículo. Consulte a seção Nomenclatura de recursos
Introdução ao Fleet Engine.
Propriedade | Descrição |
---|---|
Exclusividade | Cada ID de tarefa precisa ser exclusivo na implementação do Fleet Engine para evitar confusão e garantir a identificação adequada. |
Formato |
|
Bons exemplos de ID de tarefa |
|
---|---|
IDs de tarefas não permitidos |
|
Tipos de tarefa
O Fleet Engine oferece suporte a vários tipos de tarefas para representar diferentes ações em uma na operação de transporte. Eles estão descritos aqui junto com sua visibilidade e detalhes de faturamento.
Tipo de tarefa | Descrição | Visibilidade do rastreamento de envios | Faturado |
---|---|---|---|
Tarefa de entrega | Use para deixar itens ou concluir uma tarefa para um cliente. | Os consumidores podem ver e rastrear isso. | Sim |
Tarefa de retirada | Use para indicar a retirada de produtos de um cliente. Você deve têm tarefas de entrega correspondentes para qualquer tarefa de retirada. | Os consumidores podem ver e rastrear isso. | Não |
Tarefa de indisponibilidade | Identifica o veículo como indisponível para serviço, por exemplo, quando o motorista faz uma pausa ou reabastece o veículo. | Não está visível para os consumidores. | Não |
Tarefa de parada programada | Uma tarefa de não entrega que requer uma parada em um local específico. Use tarefas de parada programadas para paradas de coleta diárias programadas em um local específico, independentemente de outras entregas ou retiradas no mesmo local. Também é possível criar tarefas de paradas programadas para coletas de caixas de depósito ou para modelar transferências de veículos-alimentadores ou paradas em centros de serviço e pontos de serviço. | Os consumidores não conseguem acompanhar essa tarefa específica, mas podem vê-la como parte do monitoramento de outras tarefas. | Não |
Ciclo de vida de tarefas e jornadas
Esta seção fornece detalhes sobre o ciclo de vida das tarefas de entrega na frota Engine. O ciclo de vida da tarefa está conectado à jornada do veículo porque veículo precisa se deslocar até uma parada para que o motorista possa concluir uma tarefa em seu local planejado.
1. Criação de tarefas
Ao criar uma tarefa no Fleet Engine, você define uma variedade de campos para a tarefa independentemente de associá-los a uma parada.
Propriedade | Descrição |
---|---|
Estado | Definido como OPEN |
Códigos | Defina a tarefa e o ID de rastreamento se você usa o rastreamento de frete para seus consumidores. |
Tempo | A duração planejada da tarefa e a janela de tempo desejada. Consulte Tempo da tarefa para detalhes. |
Local planejado | Definir a coordenada geográfica exata no local da tarefa concluído. |
2. Atribuição de tarefas
Ao atribuir uma tarefa a um veículo, você faz isso em conjunto com um veículo parada. As paradas são coordenadas de latitude/longitude que indicam o local o veículo estaciona enquanto o motorista conclui as tarefas associadas à parada. Normalmente, as paradas são um ponto de acesso, como uma doca de carregamento, ou um ponto de acesso o local.
3. Em andamento
O estado de uma tarefa é OPEN ou CLOSED. No entanto, quando uma tarefa é atribuída um veículo, você pode acompanhar seu progresso por meio da associação ao veículo e onde o veículo está em relação à parada onde a tarefa será realizada. concluído.
Depois que o veículo sai de uma parada ou inicia um trajeto, o status do
parada mudará para ENROUTE
. Dessa forma, o rastreamento de remessa do consumidor pode
Atualizar o destinatário de uma tarefa com o número de paradas restantes e estimado
no horário de chegada. Ele também é compatível com qualquer visualização em tempo real para
rastreamento de envio ou de frota.
4. Chegada e resultado da tarefa
Quando o veículo chegar a uma parada, o status dela deve ser definido como
ARRIVED
: Assim como em um status de parada ENROUTE
, isso não afeta o estado do
a tarefa em si, mas oferece suporte a notificações de cliente e qualquer
Relatórios de rastreamento de frotas usados pelos seus operadores de frota. Ele também permite
análises e relatórios sobre a operação que você usaria para entregas.
e otimizações.
Quando o veículo chegar a uma parada, o sistema poderá processar o restante da tarefa usando uma das abordagens a seguir:
Feche as tarefas à medida que elas forem concluídas.
Quando o driver marcar a tarefa como concluída, o sistema poderá removê-la do parar, mas deixá-la com outras tarefas atribuídas a ela.
Remova a parada inteira do veículo.
Depois que o motorista marca todas as tarefas como concluídas e o veículo está a caminho do próxima parada, você poderá remover toda a parada do veículo. Motor de frota fecha automaticamente todas as tarefas associadas a uma parada removida.
Encerrar uma tarefa não indica sucesso ou falha
O fechamento de uma tarefa apenas indica que ela não é mais considerada em andamento.
Para tarefas no estado CLOSED
, você define o resultado como SUCCEEDED
ou
FAILED
Isso é necessário para indicar o resultado real do envio.
controle e para o faturamento adequado. O Fleet Engine cobra apenas as tarefas de entrega
estado de SUCCEEDED.
Depois de definir o resultado de uma tarefa, não é possível mudá-lo
Ao marcar o resultado de uma tarefa, o Fleet Engine a preenche automaticamente com a última localização conhecida do veículo. No entanto, é possível modificar o horário e o local do resultado da tarefa depois de terem sido definidos e O Fleet Engine não vai substituir esses campos.
5. Outros cenários com tarefas
Nem todas as tarefas modeladas no Fleet Engine se encaixam em um fluxo de jornada típico. Por exemplo:
- Tarefas de retirada. Quando você tem uma tarefa pickup para um pacote ser retornado. ao depósito para processamento posterior, crie um delivery desse pacote, com o local planejado definido como o depósito. Caso contrário, as tarefas de retirada geralmente seguem o mesmo fluxo das tarefas de entrega.
- Reatribuição de tarefa. Não é possível reatribuir uma tarefa diretamente a outra veículo Em vez disso, para mover uma tarefa de um veículo para outro, feche o tarefa original e recriá-la antes de atribuir o novo veículo a ela. Se você atualiza a ordem de uma tarefa que já está atribuída a um um veículo diferente, o Fleet Engine vai gerar um erro.
- Como excluir tarefas. Assim como nos veículos, o Fleet Engine exclui as tarefas atualizado após sete dias. Se você tentar reutilizar um ID de tarefa já tiver sido fechado, o Fleet Engine retornará um erro se esse ID tiver sido usado. nos últimos sete dias. Por outro lado, se você quiser reter dados de tarefas por mais tempo, de sete dias, você terá que implementar essa capacidade sozinho, como por meio um trabalho agendado para zerar o relógio de sete dias.
Compartilhamento da jornada de tarefas
Com o compartilhamento da jornada das tarefas no Fleet Engine, é possível monitorar o progresso delas em tempo real e compartilham a jornada do motorista de duas maneiras principais:
- Compartilhamento da jornada do consumidor para que os consumidores saibam o status do pedidos de envio ou pedidos de serviço solicitados.
- Rastreamento de frota: usados pelos operadores para acompanhar e analisar o status. dos veículos da frota.
Compartilhamento da jornada do consumidor
Para integrar o compartilhamento da jornada do consumidor à sua operação, configure a jornada usando o SDK de consumidor JavaScript. Com o SDK, você pode aprimorar um experiência visual na Web ou no aplicativo móvel para que os consumidores possam monitorar o status de suas entrega, com horários previstos de chegada e atualizações de localização em tempo real para o veículo de entrega. Consulte Visão geral do compartilhamento da jornada do consumidor para tarefas agendadas.
O SDK de compartilhamento da jornada do consumidor contém um mapa JavaScript e componentes de dados
para se conectar ao Fleet Engine. O mapa é uma substituição simples
objeto google.maps.Map
padrão. O cliente deve autenticar seu servidor
usuários e usar o papel de consumidor de Entrega do seu projeto do Google Cloud para
retornam somente informações específicas do cliente. O Fleet Engine filtra e edita todos
outras informações nas respostas. Por exemplo, durante uma tarefa de indisponibilidade,
nenhuma informação de localização é compartilhada com um usuário final.
No Fleet Engine, você ativa as configurações a seguir para a jornada do consumidor compartilhamento:
- As tarefas usam a propriedade
TaskTrackingViewConfig
. Opcional. - As tarefas usam um ID de acompanhamento, que a biblioteca precisa identificar tarefas de um consumidor.
Fleet Tracking
A biblioteca JavaScript Fleet Tracking permite que você visualize os locais dos
veículos nas frotas quase em tempo real. A biblioteca usa o
API Fleet Engine para fornecer a visualização de veículos de entrega, bem como
às tarefas atribuídas a eles. Assim como o SDK JavaScript de consumidor, ele contém um
componente de mapa que é uma substituição simples para um google.maps.Map
padrão
entidade com componentes de dados usados para se conectar ao Fleet Engine.
Esta biblioteca mostra a visibilidade dos veículos de entrega assim que eles são criada no Fleet Engine. Para esta implementação, use o Fleet Engine Papel de superusuário do Cloud IAM e você fornece a declaração de token da Web do Java para acesso aos veículos de entrega e às tarefas associadas.
Cenários de tarefas agendadas
Esta seção mostra uma variedade de cenários de tarefas que resumem as informações fornecidos neste ponto no guia. Ele foi criado para ajudar você a entender diversas maneiras de modelar as operações de transporte no Fleet Engine, dependendo do seu negócio.
Entrega com rastreamento
Este cenário de entrega mostra uma tarefa de parada programada atribuídos ao depósito na partida, no início a jornada e a chegada ao depósito no final da jornada. Ela também mostra duas tarefas de entrega para uma parada, e uma delas falhou. Usar para permitir o rastreamento de e para o depósito, além de como uma maneira de os horários de início e término do dia. Sem faturamento acontece com as tarefas de interrupção programadas.
Retirada com entrega em depósito
Este cenário mostra como modelar um pickup com os e exigia a tarefa de entrega correspondente. Você define o retorno para o depósito como um exibição para fins de cobrança.
Veículo alimentador
Este cenário mostra duas entregas com uma parada programada no meio para um veículo alimentador, em que o objetivo é permitir que o veículo de entrega voltar ao depósito com vários pacotes a serem enviados. Você também poderia modelar o veículo alimentador com uma parada programada.
Tempo da tarefa
A estimativa dos tempos das tarefas ajuda a planejar rotas, HECs e gerenciar trajetos com eficiência as expectativas de entrega. O Fleet Engine oferece duas funcionalidades principais para modelar e antecipar o tempo da tarefa, como descrito nesta seção.
Duração da tarefa
A duração da tarefa é definida com o campo task_duration
, um campo obrigatório que
modela o tempo previsto que o motorista passa concluindo as tarefas em uma parada.
ou para fazer uma pausa. No caso das paradas, ela inclui todas as atividades necessárias
após chegar a uma parada, como descarregar pacotes e interagir com o
destinatário. Quanto mais específicas forem essas informações, melhor o Fleet Engine poderá
fornecer horários de chegada e HECs realistas para as paradas subsequentes da viagem.
Para ver mais detalhes sobre o campo, consulte Duração na Documentação dos buffers de protocolo.
Janela de tempo desejada
O tempo-alvo define um intervalo de tempo proposto para uma tarefa, normalmente usado para
comunicar-se com os clientes ou
para fins de planejamento interno. Você define isso com
o campo target_time_window
, que consiste em um horário de início e um de término.
Isso não influencia diretamente nos cálculos de trajeto, mas pode ser usado para
situação como alertar um consumidor sobre a janela de tempo de um pacote
entrega ou quando esperar a chegada de um service worker programado.
Atributos da tarefa
Os atributos de tarefa no Fleet Engine oferecem uma maneira conveniente de filtrar tarefas com base
sobre características específicas ao usar a solicitação ListTasks
. Você também pode usar
atributos de tarefas personalizados para análise com o Cloud Logging, além de
a comunicação de informações no compartilhamento de jornadas do consumidor ou no rastreamento de frotas. O
semelhante ao dos atributos do veículo: use-o para criar um
focada em suas operações de entrega.
Limitações e restrições
- Criação de atributo personalizado: o Fleet Engine limita o número de objetos atributos que podem ser definidos por tarefa. Entre em contato com seu representante de vendas para solicitar um aumento desses limites.
- Recursos de filtragem: enquanto oferecem flexibilidade de filtragem, não substituem os campos de dados das tarefas principais. Use para filtros adicionais com base em suas necessidades específicas.
- Cada atributo precisa ter uma chave exclusiva.
- Não inclua informações de identificação pessoal ou outros dados sensíveis. informações no valor do atributo, porque elas podem ser visíveis ao usuário.
- Validação de dados: verifique se os tipos e formatos de dados da sua são compatíveis com os requisitos do Fleet Engine.