Geocoderingsfout bij gelijktijdige aanvragen met arcgis-10.0

Ik heb een syntroon synchrone geoprocessing-script (ctagc) gemaakt dat op AGS wordt uitgevoerd. Het script accepteert een tabel (GPRecordSet) als invoerparameter. Het script roept dan arcpy.GeocodeAddresses_geocoding() aan om de tabel in te dienen bij een specifieke geocoderingsservice die op dezelfde server wordt uitgevoerd. Het script genereert vervolgens een uitvoerken kenmerkklasse " in_memory " om terug te sturen naar de beller.

Wanneer mijn silverlight-client meerdere http-verzoeken (4 threads van 100 records) van JSON-batchgegevens via de gegenereerde REST-interface op de server indient, mislukt het script INconsistently op dezelfde gegevens die worden ingediend. Bij verschillende runs van de testgegevens falen verschillende batches telkens (en een ander aantal mislukt). Dit gebeurt met verschillende geocoderingsservices op de server.

Ik denk dat er problemen kunnen zijn met de geocoderingsservice die toegang heeft tot het bestand met de enkele locator. Ik heb geprobeerd pooling en isolatieparameters te wijzigen. Nog steeds crasht. Weet iemand dat er suggesties zijn voor het afhandelen van meerdere verzoeken die een geocoderingsservice raken? Ik dacht dat de ArcGIS-server duizenden verzoeken aankon, bla, bla, per uur?

Systeeminformatie: Voer AGS 10.03 uit en hebt geocoderingspatch Gis10sp3-SGIS-GGM-Patch.msp vanaf 1/3/2012 op virtuele Win 2008 R2 geïnstalleerd. Pooling-services, lage isolatie.

Foutbericht teruggestuurd naar client:

voorbeeld 1

Error Executing Task. Error executing tool.: \u003cclass 'arcgisscripting.ExecuteError'\u003e: ERROR 000464: Cannot get exclusive schema lock.  Either being edited or in use by another application.\nFailed to execute (GeocodeAddresses).\n\nFailed to execute (ctagc).

voorbeeld fout 2

Error Executing Task. Error executing tool.: \u003cclass 'arcgisscripting.ExecuteError'\u003e: ERROR 000010: Geocode addresses failed.\nFailed to execute (GeocodeAddresses).\n\nFailed to execute (ctagc).


Server Log File Messages:
Execute job j769cfe004d6c4152a5357f7a9c318f7b
Executing (ctagc): ctagc "Record Set" 0 0 2 12 Start Time: Thu Feb 09 12:12:41 2012 Running script ctagc... \\VAGS10B\ArcGIS\cta\ctagc_ags_connection\cta\comp_parcels_streets.GeocodeServer <class 'arcgisscripting.ExecuteError'>: ERROR 000010: Geocode addresses failed. Failed to execute (GeocodeAddresses).  Failed to execute (ctagc). Failed at Thu Feb 09 12:12:44 2012 (Elapsed Time: 3.00 seconds)
Error executing tool.: <class 'arcgisscripting.ExecuteError'>: ERROR 000010: Geocode addresses failed. Failed to execute (GeocodeAddresses).  Failed to execute (ctagc).
Save job j769cfe004d6c4152a5357f7a9c318f7b message type SOAP message size 534
3
Het belast de virtuele server die ik gebruik, maar het faalt zelfs (opnieuw inconsistent) wanneer ik aanvragen serialiseer.
toegevoegd de auteur Paul Hargreaves, de bron
Hoe ziet uw handtekening er uit op de server? bijv. heb je het herschreven? Kun je CONSTATIONAAL falen vermijden met 2 threadsworth van verzoeken? een oplossing zou kunnen zijn om een ​​kopie van de locator te maken en een andere service te publiceren.
toegevoegd de auteur user3214, de bron

1 antwoord

Nadat ik met Esri-ondersteuning heb gesproken, denk ik dat het probleem ligt in het aanroepen van de AGS-geocoderingsdiensten vanuit een AGS geoprocess. Ik kan het volgende niet bevestigen, maar ik geloof dat het bellen van de geocoderingsservice op zichzelf ingaat. Het is niet in staat om bronnen te delen --- of om resources te sluiten om klaar te zijn voor een ander verzoek. Mijn oplossing die nu goed werkt, is om de locators eenvoudig vanuit de geoproces te bellen met dezelfde methode arcpy.GeocodeAddresses_geocoding (). Nu helemaal geen fouten - bedankt voor je commentaarklep Londen

1
toegevoegd