Tâches planifiées

Ce document décrit le service des tâches planifiées dans Fleet Engine. Nous supposons ici vous avez lu Qu'est-ce que Fleet Engine ? et vous connaissez les spécificités de Fleet Engine Compute Engine dont vous avez besoin.

En lisant cette documentation, tenez compte des points suivants:

  • Vous créez des tâches et vous les associez à un arrêt de véhicule afin de de modéliser l'association réelle entre la tâche et l'emplacement le véhicule doit s'arrêter pour que le conducteur puisse réaliser la tâche. Consultez l'article Présentation des véhicules pour mieux comprendre le fonctionnement des véhicules dans Fleet Engine.
  • Fleet Engine pour les tâches planifiées utilise les ressources suivantes: un Task et DeliveryVehicle. Fleet Engine fournit à la fois un service gRPC et REST interfaces: <ph type="x-smartling-placeholder">
      </ph>
    • Task: gRPC et REST
    • DeliveryVehicle: gRPC et REST
    • Par souci de simplicité, ce manuel utilise des exemples gRPC.

Qu'est-ce qu'une tâche planifiée ?

Une tâche planifiée dans Fleet Engine représente une action individuelle à effectuer effectuée par un conducteur qui utilise un véhicule dans le contexte global les opérations de transport. Elle définit l'objectif spécifique du conducteur. Exemple :

  • pour livrer un bon à une résidence
  • récupérer un colis à retourner au dépôt
  • s'arrêter à un endroit afin de fournir un service sur site à un client
  • pour effectuer un arrêt programmé pour alimenter le véhicule en carburant ;

Éléments de la tâche

L'image suivante illustre ces éléments de tâche dans une tâche standard planifiée pour un véhicule.

Champs de tâches de base

Champ Description
Type Définit le type d'action associé à la tâche.
ID de tâche Chaîne identifiant de manière unique la tâche dans le système.
Emplacement planifié Spécifie l'emplacement prévu où la tâche doit être effectuée. Ce lieu n'est pas toujours le même que celui prévu pour l'arrêt du véhicule.
État Indique si la tâche est ouverte ou fermée.
Résultat de la tâche Indique si la tâche a réussi ou échoué.

Modèle de données pour les tâches

Les schémas suivants illustrent le modèle de données de la ressource Task à côté du schéma de la ressource DeliveryVehicle associée. Vous pouvez examinez les deux diagrammes pour explorer les relations entre les deux ressources, gardez à l'esprit ce qui suit:

  • Lieu planifié: les arrêts des véhicules et les tâches sont associés à des emplacements planifiés. distincts les uns des autres.
    • Pour les tâches, un lieu planifié indique où le conducteur doit effectuer une action. devrait se produire. Par exemple, 15 colis à domicile complexes nécessitent une livraison à différents emplacements de salle de courrier au sein ce même complexe.
    • Pour les arrêts de véhicules, l'emplacement prévu indique l'arrêt de la véhicule pendant que le conducteur effectue les tâches. Par exemple, un le véhicule s'arrête à l'entrée d'un immeuble, et le conducteur livre les colis manuellement dans les différentes salles de courrier du complexe.
  • État: les tâches et les arrêts des véhicules ont un champ state (état), qui est différent de les uns les autres.
    • L'état de l'arrêt du véhicule reflète sa progression dans en lien avec l'arrêt, utilisé pour suivre la flotte.
    • L'état de la tâche indique si elle est active ou non. Ce a une incidence sur les autres opérations à effectuer sur les tâches, comme la définition de son résultat ou de l’attribuer à un véhicule.
  • Résultat de la tâche: le résultat de la tâche est un champ important du modèle de données. car elles sont utilisées pour indiquer le succès ou l'échec d'une tâche, de l'état de la tâche.

  • ID:

    • Lorsque vous attribuez une tâche à un véhicule, Fleet Engine insère les deliveryVehicleId. Ce champ en lecture seule indique que le véhicule auquel la tâche est attribuée.
    • Les ID de tâche sont des identifiants uniques pour toutes les tâches de votre système.
    • Les ID de suivi permettent d'identifier une tâche à des fins de suivi du colis.

Modèle de données Tasks

Modèle de données du véhicule

ID des tâches

Comme les identifiants des véhicules dans Fleet Engine, les tâches doivent chacune contenir un identifiant pour les distinguer des autres tâches du système. Vous référencez et gérez toutes les tâches de votre workflow par leur ID. Pour créer ces identifiants, utilisez la méthode CreateTaskRequest et en fournissant une chaîne d'ID conforme au les exigences décrites dans cette section.

Cette chaîne comprend alors une partie du nom de la ressource de tâche elle-même, une de sortie uniquement de l'objet Task. Ceci est analogue à la façon dont Fleet Engine construit les ressources de nom de véhicule. Consultez la section Dénomination des ressources dans Présentation de Fleet Engine

Exigences concernant les ID de tâche
Propriété Description
Unicité Chaque ID de tâche doit être unique dans votre implémentation Fleet Engine pour éviter toute confusion et garantir une identification appropriée.
Format
  • Pas d'informations permettant d'identifier personnellement l'utilisateur ni de données en texte clair.
  • Chaînes Unicode valides.
  • 64 caractères maximum.
  • Excluez les caractères suivants: / : \ ? #
  • Normalisée selon Formulaire C de normalisation Unicode.
Exemples d'ID de tâche
Exemples d'ID de tâche appropriés
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
ID de tâche non autorisés
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 Summer Dr. East Hartford, CT06118"577b484da26f8a

Types de tâches

Fleet Engine accepte différents types de tâches pour représenter différentes actions au sein d'une les opérations de transport. Elles sont décrites ici, ainsi que leur visibilité et les informations de facturation.

Type de tâche Description Visibilité du suivi des livraisons Facturé
Tâche de diffusion À utiliser pour déposer des objets ou effectuer une tâche pour un client. Les consommateurs peuvent le voir et le suivre. Oui
Tâche de retrait Permet d'indiquer qu'un client peut retirer ses produits. Vous devez avoir des tâches de livraison correspondantes pour toute tâche de retrait. Les consommateurs peuvent le voir et le suivre. Non
Tâche d'indisponibilité Identifie le véhicule comme indisponible, par exemple lorsque le conducteur fait une pause ou fait le plein. Non visible par les consommateurs. Non
Tâche d'arrêt programmé Tâche de non-distribution nécessitant un arrêt à un emplacement spécifique. Utilisez les tâches d'arrêt planifiées pour les arrêts de collecte programmés quotidiens à un endroit spécifique, indépendamment des autres livraisons ou retraits effectués au même endroit. Vous pouvez également planifier des tâches d'arrêt programmées pour les encaissements effectués dans des boîtes de dépôt, ou pour modéliser les correspondances entre véhicules d'actualisation et les arrêts dans les centres de réparation et les points de service. Les clients ne peuvent pas suivre cette tâche spécifique, mais peuvent la consulter dans le cadre du suivi d'autres tâches. Non

Cycle de vie des tâches et des parcours

Cette section fournit des détails sur le cycle de vie des tâches de livraison dans le parc Compute Engine. Le cycle de vie de la tâche est lié au parcours du véhicule, car le véhicule doit se rendre à un arrêt pour qu'un conducteur puisse effectuer une tâche le lieu prévu.

1. Création de tâches

Lorsque vous créez une tâche dans Fleet Engine, vous définissez différents champs indépendamment de leur association à un arrêt.

Propriétés de la tâche
Propriété Description
État Définir sur "OPEN"
ID Définissez la tâche et l'ID de suivi si vous utilisez le suivi du colis pour vos clients.
Durée La durée planifiée de la tâche et sa fenêtre de temps cible. Voir Durée des tâches.
Emplacement planifié Définir les coordonnées géographiques précises de la tâche terminé.

2. Attribution de la tâche

Lorsque vous attribuez une tâche à un véhicule, vous l'associez à un véhicule arrêter. Les arrêts sont des coordonnées de latitude/longitude qui indiquent l'emplacement le véhicule se gare pendant que le conducteur effectue les tâches associées à l'arrêt. Les arrêts constituent généralement un point d'accès tel qu'un quai de chargement ou une route barrée l'emplacement.

3. En cours

L'état d'une tâche est soit OPEN, soit CLOSED. Cependant, une fois qu'une tâche est attribuée à un véhicule, vous pouvez suivre sa progression en l'associant au véhicule et la position du véhicule par rapport à l'arrêt où la tâche doit être effectuée terminé.

Une fois que le véhicule part d'un arrêt ou commence la navigation, l'état L'arrêt doit passer à ENROUTE. Ainsi, le suivi d'expédition du consommateur peut informer le destinataire d’une tâche avec le nombre d’arrêts restants et une estimation l'heure d'arrivée. Cela prend aussi en charge toute visualisation en temps réel pour les consommateurs le suivi du colis ou le suivi de la flotte.

4. Arrivée et résultat de la tâche

Lorsque le véhicule arrive à un arrêt, l'état de celui-ci doit être défini sur ARRIVED Comme pour l'état d'un arrêt ENROUTE, cela n'a aucune incidence sur l'état la tâche elle-même, mais elle prend en charge les notifications aux consommateurs et toutes les notifications des rapports sur le suivi du parc utilisé par vos opérateurs de flotte. Il permet aussi ultérieurement des données analytiques et des rapports sur vos opérations, que vous utiliseriez pour la diffusion et des optimisations.

Une fois le véhicule arrivé à l'arrêt, votre système peut effectuer le reste de la tâche grâce à l'une des approches suivantes:

  • Clôturez les tâches une fois qu'elles sont terminées.

    Lorsque le pilote marque la tâche comme terminée, votre système peut la supprimer du arrêter, mais laisser l’arrêt avec d’autres tâches qui lui sont attribuées.

  • Supprimez l'arrêt complet du véhicule.

    Une fois que le conducteur a marqué toutes les tâches comme terminées et que le véhicule est en route vers la le prochain arrêt, vous pouvez le supprimer du véhicule. Fleet Engine ferme automatiquement toutes les tâches associées à un arrêt supprimé.

La fermeture d'une tâche n'indique pas la réussite ou l'échec

La fermeture d'une tâche indique seulement que la tâche n'est plus considérée comme en cours. Pour les tâches à l'état CLOSED, vous définissez leur résultat sur SUCCEEDED ou FAILED Cela est nécessaire à la fois pour indiquer le résultat réel de l’expédition le suivi et pour une facturation appropriée. Fleet Engine ne facture que les tâches de livraison avec un l'état SUCCEEDED.

Une fois que vous avez défini le résultat d'une tâche, vous ne pouvez plus le modifier

Lorsque vous marquez le résultat d'une tâche, Fleet Engine la complète automatiquement l'emplacement du résultat avec la dernière position connue du véhicule. En revanche, vous pouvez modifier le temps du résultat de la tâche et le lieu du résultat de la tâche après qu'ils ont été définis et Fleet Engine ne remplacera pas ces champs.

5. Autres scénarios de tâches

Toutes les tâches que vous modélisez dans Fleet Engine ne correspondent pas à un parcours classique. Exemple :

  • Tâches de retrait en magasin. Lorsque vous avez une tâche de retrait pour un colis à retourner dans le dépôt en vue d'un traitement ultérieur, vous devez créer delivery pour ce package, l'emplacement planifié étant défini sur le dépôt. Sinon, les tâches de retrait suivent généralement le même flux que pour les tâches de livraison.
  • Réattribution de tâches. Vous ne pouvez pas réattribuer directement une tâche à un autre véhicule. Pour déplacer une tâche d'un véhicule à un autre, fermez la tâche d'origine, puis la recréer avant de lui attribuer le nouveau véhicule. Si vous mettez à jour l'ordre des tâches pour une tâche déjà attribuée à une un autre véhicule, Fleet Engine génère une erreur.
  • Supprimer des tâches Comme pour les véhicules, Fleet Engine supprime les tâches qui n'ont pas été sont mises à jour au bout de sept jours. Si vous essayez de réutiliser un ID de tâche pour une tâche fermé précédemment, Fleet Engine renvoie une erreur si cet ID a été utilisé au cours des sept derniers jours. À l'inverse, si vous souhaitez conserver les données de tâche sept jours, vous devez mettre en œuvre vous-même cette fonctionnalité, par exemple via une tâche planifiée pour réinitialiser le fuseau horaire de 7 jours.

Partage du parcours de la tâche

Grâce au partage du parcours entre les tâches dans Fleet Engine, vous pouvez surveiller l'avancement des tâches dans en temps réel et de partager le trajet du conducteur de deux manières principales:

  • Le partage du parcours consommateur, qui permet aux consommateurs de connaître l'état de leur commandes de livraison ou de service demandée.
  • Suivi de flotte pour permettre à vos opérateurs de flotte de suivre et d'analyser l'état de véhicules du parc.

Partage du parcours consommateur

Pour intégrer le partage du parcours consommateur à vos opérations, configurez le parcours à l'aide du SDK client JavaScript. Le SDK vous permet d'améliorer une expérience visuelle sur le Web ou dans une application mobile, de sorte que les consommateurs puissent surveiller l'état de leur livraison, avec l'heure d'arrivée prévue et des mises à jour de la position en temps réel pour le véhicule de livraison. Consultez Présentation du partage du parcours consommateur pour les tâches planifiées.

Le SDK de partage du parcours consommateur contient une carte JavaScript et des composants de données pour se connecter à Fleet Engine. La carte est une solution de remplacement prête à l'emploi un objet google.maps.Map standard. Votre client doit authentifier votre partie et utiliser le rôle client Diffusion de votre projet Google Cloud pour renvoyer uniquement des informations spécifiques au client. Fleet Engine filtre et masque tout d'autres informations dans les réponses. Par exemple, lors d'une tâche d'indisponibilité, aucune information de localisation n'est partagée avec un utilisateur final.

Dans Fleet Engine, vous activez les paramètres suivants pour le parcours consommateur partage:

  • Les tâches utilisent la propriété TaskTrackingViewConfig. Facultatif.
  • Les tâches utilisent un ID de suivi, dont la bibliothèque a besoin pour identifier des tâches pour un consommateur.

Suivi de flotte

La bibliothèque JavaScript de suivi de flotte permet de visualiser les emplacements véhicules de leur parc en temps quasi réel. La bibliothèque utilise L'API Fleet Engine permet de visualiser les véhicules de livraison, ainsi que les tâches qui lui sont assignées. Comme le SDK grand public JavaScript, elle contient un fichier JavaScript Composant map qui remplace directement un google.maps.Map standard avec les composants de données que vous utilisez pour vous connecter à Fleet Engine.

Cette bibliothèque indique la visibilité des véhicules de livraison créés dans Fleet Engine. Pour cette implémentation, vous utilisez l'API Fleet Engine le rôle Cloud IAM de super-utilisateur du service et vous fournissez la revendication de jeton Web Java pour accès aux véhicules de livraison et à leurs tâches associées.

Scénarios de tâches planifiées

Cette section présente divers scénarios de tâches qui résument les informations fournies à ce stade du guide. Il est destiné à vous aider à comprendre de nombreuses façons de modéliser vos opérations de transport dans Fleet Engine, en fonction de votre activité.

Livraison avec suivi

Ce scénario de diffusion illustre une tâche d'arrêt planifié. sont affectés au dépôt au départ du le trajet et l’arrivée au dépôt à la fin du voyage. Il y a aussi affiche deux tâches de livraison pour un arrêt, dont une ayant échoué. Utiliser ceci pour permettre le suivi depuis et vers le dépôt et comme moyen de modéliser les heures de début et de fin de la journée. Aucune facturation des tâches d'arrêt planifiées.

Retrait avec livraison en dépôt

Ce scénario montre comment modéliser un retrait avec ses la tâche de livraison correspondante requise. Vous définissez le retour au dépôt livraison à des fins de facturation.

Véhicule d'alimentation

Ce scénario montre deux livraisons avec un arrêt programmé au milieu pour un véhicule d'alimentation, dont le but est de lui permettre renvoyer au dépôt avec un certain nombre de colis à expédier. Toi pourrait également modéliser le véhicule d'actualisation avec un arrêt programmé.

Durée de la tâche

La modélisation des temps de travail permet une planification efficace des itinéraires, des heures d'arrivée prévues et une gestion les attentes de livraison. Fleet Engine offre deux fonctionnalités principales anticiper le calendrier des tâches, comme décrit dans cette section.

Durée de la tâche

La durée de la tâche est définie à l'aide du champ task_duration, un champ obligatoire qui modélise le temps estimé que le conducteur peut consacrer à l'exécution des tâches à l'arrêt. ou pour faire une pause. Pour les arrêts, il s'agit de toutes les activités nécessaires après l'arrivée à un arrêt, comme le déchargement des colis et l'interaction avec destinataire. Plus ces informations sont précises, plus Fleet Engine pourra fournir des heures d'arrivée et des heures d'arrivée prévues réalistes pour les arrêts suivants du trajet ; Pour en savoir plus sur les champs, consultez la section Duration dans la documentation de Protocol Buffers.

Période cible

L'heure cible définit une période proposée pour une tâche, généralement utilisée pour pour communiquer avec les clients ou à des fins de planification interne. Vous définissez cela avec le champ target_time_window, qui comprend une heure de début et une heure de fin ; Cela n'influence pas directement le calcul d'un itinéraire, mais peut être utilisé pour situation, comme alerter un consommateur sur une fenêtre temporelle pour un paquet la livraison ou l'arrivée d'un service worker planifié.

Attributs de la tâche

Les attributs de tâche dans Fleet Engine permettent de filtrer facilement en fonction de caractéristiques spécifiques lors de l'utilisation de la requête ListTasks. Vous pouvez également utiliser des attributs de tâches personnalisés pour l'analyse avec Cloud Logging, ainsi que la communication d'informations lors du partage du parcours consommateur ou du suivi du parc. La est similaire à celui des attributs de véhicule: utilisez-le pour créer un point de vue ciblé de vos opérations de livraison.

Limites et restrictions

  • Création d'attributs personnalisés: Fleet Engine limite le nombre d'attributs personnalisés que vous pouvez définir pour chaque tâche. Contactez votre conseiller commercial pour demander une augmentation de ces limites.
  • Capacités de filtrage: elles offrent une certaine flexibilité, ne remplacent pas les champs de données des tâches principales. Utilisez-les pour un filtrage supplémentaire en fonction de vos besoins spécifiques.
  • Chaque attribut doit avoir une clé unique.
  • N'ajoutez pas d'informations permettant d'identifier personnellement l'utilisateur ni d'autres informations sensibles. informations dans la valeur de l'attribut, car celles-ci peuvent être visibles par l'utilisateur.
  • Validation des données: vérifiez les types et formats de données de vos sont compatibles avec les exigences de Fleet Engine.

Étape suivante