什么是计划任务?
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本部分中的文档介绍了如何使用 Google Maps Mobility 计划任务服务创建和处理计划任务。它假定您熟悉以下内容:
您将使用的 Task
资源在 gRPC 和 REST 中均可用。
在 Fleet Engine 中,计划任务是指为消费者履行预定运送或服务的司机活动。您将任务分配给需要完成的车辆停靠站,然后车辆就会前往这些停靠站。
任务有两种可能的状态:OPEN
或 CLOSED
。这些状态指示任务在系统中是否处于活跃状态。随着有效任务的历程不断演变,您可以通过更新与任务关联的车辆停靠站向 Fleet Engine 报告此问题,该任务可以是 ENROUTE 或 ARRIVED。当驾驶员完成任务并离开车站后,您可以从车辆的车站列表中移除该车站。如需详细了解任务及其与停靠站和车辆的关系,请参阅 Fleet Engine 基础知识中的计划任务。
任务的生命周期
为了跟踪 Fleet Engine 中的每项任务,您必须先创建一个 Task
实体。有关参考信息,请参阅 gRCP 或 REST。
下表介绍了在您的系统中创建的任务的端到端流程示例及其在 Fleet Engine 中的生命周期阶段。并假定您已设置 Fleet Engine 并有车辆来完成任务,并在驾驶员应用中启用了位置信息更新。请参阅驱动程序 SDK:计划任务。
1 |
创建任务。 |
在工作周期开始时,调度程序或服务管理员首先会为交付任务或服务创建清单。然后,系统使用 CreateTrip 和必填字段(如任务类型和位置)来创建任务实体。此时,它还可以提供其他配置,例如目标时间范围、行程共享的可见性和自定义属性。请参阅创建配送任务和相关指南。 |
2 |
安排任务。 |
在安排任务交付时,您可以发出送货车辆更新请求,然后,该请求会使用旅行停靠站列表更新车辆实体。您为每个停靠站分配要在相应停靠站完成的任务列表。请参阅更新送货车辆任务。
|
3 |
更新任务进度。 |
将任务分配给 Fleet Engine 中的交货站并处于活动状态后,您的系统会在车辆接近、到达和完成停靠时通知 Fleet Engine。有了这些信息,Fleet Engine 才能最好地在车辆的整个行程中以及全天的车辆中更新路线和状态。请参阅更新车辆停靠状态。
|
4 |
分享历程。 |
在车辆在送达日开始主动导航的同时,您可以与感兴趣的利益相关方分享行程信息。Fleet Engine 通过以下方式向感兴趣的利益相关方提供任务详细信息和车辆位置:
- 面向消费者的装运信息。借助此解决方案,消费者可以查看其包裹的状态以及您允许他们查看的车辆位置信息。
请参阅计划任务的消费者分享。
- 面向管理员的舰队状态信息。借助此解决方案,车队管理员可以近乎实时地直观呈现货车在车队中的位置及其停靠点。
如果车辆的路线已知,地图视图组件会在车辆沿着预测路径移动时以动画形式呈现车辆。
请参阅 JavaScript 车队跟踪库。
|
5 |
完成任务。 |
您可以通过以下方式在舰队引擎中最终确定发货任务:
- 关闭任务:关闭运单任务表示该任务不再活动。
- 设置任务结果:任务关闭后,您可以指示任务是成功还是失败,以表明是否传送了内容。这是完成任务的一个重要环节,以便在旅程共享中显示交付结果,并确保 Fleet Engine 服务正确结算。
请参阅完成任务。
|
任务序列流程
下图显示了任务生命周期的详细流程。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-05。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-08-05\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-08-05。"]]