<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Firing a GP Service/Python Script in ArcGIS GeoEvent Server Questions</title>
    <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684057#M3019</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I will have a GEP service that when a certain incident ocurrs, I will be updating a series of point values in a feature service.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After this update has happened, I want to then trigger a GP Service OR a python script to run that will do a basic IDW interpolation upon the updated point values (borehole water depths).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the best way of triggering for either an ArcGIS Server GP service to fire OR (and more ideally) for a local python script to execute?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 May 2014 10:03:59 GMT</pubDate>
    <dc:creator>SimonJackson</dc:creator>
    <dc:date>2014-05-12T10:03:59Z</dc:date>
    <item>
      <title>Firing a GP Service/Python Script</title>
      <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684057#M3019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I will have a GEP service that when a certain incident ocurrs, I will be updating a series of point values in a feature service.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After this update has happened, I want to then trigger a GP Service OR a python script to run that will do a basic IDW interpolation upon the updated point values (borehole water depths).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the best way of triggering for either an ArcGIS Server GP service to fire OR (and more ideally) for a local python script to execute?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 May 2014 10:03:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684057#M3019</guid>
      <dc:creator>SimonJackson</dc:creator>
      <dc:date>2014-05-12T10:03:59Z</dc:date>
    </item>
    <item>
      <title>Re: Firing a GP Service/Python Script</title>
      <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684058#M3020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One option might be to create a custom processor that calls a geoevent service from it's rest endpoint. I did this with the visibility processor released as one of the geometry processors in the geoevent gallery.&amp;nbsp; I set up the processor to take in the parameters of the gp service.&amp;nbsp; I believe I also used some Runtime to generate gp objects and such.&amp;nbsp;&amp;nbsp; You may also be able to execute the gp internally through Runtime as a local gp process.&amp;nbsp; I did not have luck with this, however and since I was able to get it to work by calling the service I went with that.&amp;nbsp; Also I believe I had to call the service synchronously because you start running into all kinds of threading considerations calling the service asynchronously from the already asynchronous processor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think you should be able to execute a python script from a processor/connector directly.&amp;nbsp; Again this would require customization.&amp;nbsp; There are libraries out there that interface between Java and Python - Jython comes to mind.&amp;nbsp; I have never used them and so I am not sure how practical this solution would be for your situation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Patrick&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2014 14:03:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684058#M3020</guid>
      <dc:creator>PatrickHill1</dc:creator>
      <dc:date>2014-05-14T14:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: Firing a GP Service/Python Script</title>
      <link>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684059#M3021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey Simon -&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another approach recommended to me was to direct event data to a TCP socket which a Python script is monitoring. For example, if you had an out-of-the-box inbound connector polling a feature service for new features, the event data collected when new features were created could be sent to the Python script via an out-of-the-box TCP/Text outbound connector.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The python script monitoring the TCP socket has a toolbox opened and when event data is received on the socket the script executes a model in the toolbox providing the event data as input. Using this approach you wouldn't need to develop any custom GeoEvent Processor components; the Python script would asynchronously run its geoprocessing model not caring where the event data came from. The drawback, I suppose, is that you'd have no way of reporting or handling any errors since there is no way to have the Python process callback on GeoEvent Processor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- RJ&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 16:28:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-geoevent-server-questions/firing-a-gp-service-python-script/m-p/684059#M3021</guid>
      <dc:creator>RJSunderman</dc:creator>
      <dc:date>2014-05-28T16:28:13Z</dc:date>
    </item>
  </channel>
</rss>

