Después de publicar servicios de enrutamiento desde un dataset de red configurado con tráfico en vivo, es esencial asegurarse de que los datos de tráfico en vivo utilizados por estos servicios se actualizan a intervalos regulares. Esto se puede lograr siguiendo el flujo de trabajo que se describe a continuación:
Debe configurar un script de Python para que se ejecute cada dos minutos utilizando el Programador de tareas de Windows. Esta utilidad de Windows integrada permite a los usuarios automatizar la ejecución de tareas y programas en momentos específicos. Aunque puede utilizar la interfaz de usuario del Programador de tareas de Windows para crear una tarea para actualizar los datos de tráfico en vivo en esta sección se describe el mismo flujo de trabajo utilizando una utilidad de línea de comandos llamada schtasks.
Actualice los datos de tráfico en vivo cada dos minutos ejecutando un script de Python mediante el Programador de tareas de Windows. En este ejemplo se presupone que la ubicación de instalación de ArcGIS Server es C:\Program Files\ArcGIS\Server.
schtasks /create /tn "ArcGISLiveTrafficDataUpdater" /tr "\"C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\python.exe\" \"C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\Resources\ArcToolBox\Services\routingservices\update_traffic_cache_scheduler.py\"" /sc minute /mo 2 /ru "SYSTEM"Nota:
Los pasos anteriores deben realizarse en todos los equipos de un sitio ArcGIS Server con varios equipos.
El script de Python genera un archivo de registro denominado update_traffic_cache_scheduler.log, que se almacena en la carpeta predeterminada donde ArcGIS Server escribe sus registros, por ejemplo, c:\arcgisserver\logs. Puede consultar este archivo de registro para determinar si se ha producido algún error durante la implementación del script.
Comprobar estado de datos de tráfico en directo
Después de configurar los datos de tráfico en vivo para que se actualicen a intervalos regulares, puede comprobar si los datos de tráfico se actualizan correctamente ejecutando la herramienta GetLiveTrafficStatus en el servicio de geoprocesamiento NetworkAnalysisUtilities. Este servicio está disponible en la misma carpeta donde se publicaron otros servicios de enrutamiento. Por ejemplo, si los servicios de enrutamiento se publicaron en una carpeta de servicios denominada Routing, la URL de la herramienta GetLiveTrafficStatus será https://machine.example.com/webadaptorname/rest/services/Routing/NetworkAnalysisUtilities/GPServer/GetLiveTrafficStatus. La salida de GetLiveTrafficStatus se puede utilizar para comprobar si los datos de tráfico se están actualizando correctamente.
El ejemplo de salida de la herramienta GetLiveTrafficStatus muestra que la última actualización se realizó correctamente, ya que isLastUpdateSuccessful es true. Si se producen errores durante la última actualización, isLastUpdateSuccessful se establece en false y los motivos del error se devuelven como parte de la propiedad lastUpdatedMessages.
{
"results": [
{
"paramName": "status",
"dataType": "GPString",
"value": {
"cachePath": "C:\\NA\\RoutingServices\\traffic-cache\\openlr.3a795f46cf77473fb1dc606ef73a2cb5",
"isLastUpdateSuccessful": true,
"isUpdateInProgress": false,
"roadClosuresDataAvailable": true,
"roadClosuresDataSize": 64427318,
"speedDataAvailable": true,
"speedsDataSize": 3977019303,
"tempDataSize": 365970076,
"trafficCacheStatus": {
"endTimeWindow": 1744065360000,
"lastCreatedFileNames": [
"speeds.20250407132800.1.ff.dat",
"speeds.20250407213200.1.nff.dat",
"road_closures.20250407213200.1.dat",
"speeds.20250407213200.info.dat",
"speeds.20250407213600.info.dat"
],
"lastDecodingElapsedTime": 0,
"lastRemovedFileNames": [
"speeds.20250407173200.info.dat",
"road_closures.20250407173200.1.dat"
],
"lastUpdatedElapsedTime": 11582,
"lastUpdatedMessages": [
],
"lastUpdatedTime": 1744062137882,
"remainingSpeedLocationsToMatch": 0,
"roadClosureLocationsCount": 23153,
"selectedTrafficDataRegions": [
"CAN",
"MEX",
"USA_N",
"USA_SW",
"USA_SE",
"USA_M"
],
"speedLocationsCount": 1468719,
"startTimeWindow": 1744047330000
}
}
}
],
"messages": [
]
}