Publish web tools

Web tools allow you to share your analysis with others in your organization. To create an analysis, you can use ModelBuilder or Python scripts. To learn more about web tools, see Web tools. Once you have published your web tools, you can use web tools in ArcGIS Pro, Python scripts, and web apps. The output feature service option is also available so your web tool results can be a hosted feature service.

Share your analysis

Administrators and users with the administrative privilege to publish web tools can publish a web tool from ArcGIS Pro 2.9 and later or within a Python script.

Note:

Organizations can choose to enable publishers to publish geoprocessing services. See Change geoprocessing service and service extension publishing privileges for more information.

It is recommended that you register the data your analysis will use with the organization prior to publishing. To learn more about copying or registering data, see Data and publishing in ArcGIS Enterprise.

You can also publish web tools when the geoprocessing service is on a federated server. To do so, choose the destination server in the sharing pane of ArcGIS Pro during the publishing process.

To overwrite a web tool, see Share a web tool.

Publish a service definition file

If you have an existing service definition file, use the Upload Service Definition tool from ArcGIS Pro or Python. You cannot publish a geoprocessing service definition file from ArcGIS Enterprise Manager or a portal.

Resources consideration

You may experience a delay in the publishing process because each asynchronous web tool will have a new pair of pods, and the pods are not shared by other web tools. A dedicated service mode is only available to web tools. Each synchronous web tool will have only one pod, and the publishing process is faster than publishing an asynchronous web tool.

By default, each asynchronous web tool will request a minimum of 3.064 GB of memory and 0.35 CPU, and a maximum of 6.1 GB of memory and 3.5 CPU. Each synchronous web tool will request a minimum of 1.532GB of memory and 0.13 CPU, and a maximum of 2.05 GB of memory and 1.125 CPU. You can adjust these resources by managing service deployments. When you want to publish many web tools, confirm with your system administrator that sufficient resources are available. If your publishing fails, ensure that your cluster has access to the container registry.

All deployments of web tools will have the name of the web tool as part of the deployment name. For example, an asynchronous web tool named sampleservice will have deployments with the names sampleservice-gpserver and sampleservice-gpsyncserver.

When you scale services, you only need to adjust the replicas of the GPSyncServer deployment of your web tool, where the geoprocessing tasks are running. If your geoprocessing tasks will process large files, large amounts of features, or large rasters, adjust the maximum memory of the main-container of the GPSyncServer deployment. You can also adjust the number of instances maxInstancesPerNode in the ArcGIS Enterprise Administrator API for your service; however, you must ensure the GPSyncServer deployment has enough CPU and memory limit when all instances are running.

A synchronous web tool will have only one deployment for each web tool. It will only have the <servicename>-gpserver deployment. When you scale services, adjust the replicas of the GPServer deployment of your web tool. You can also adjust the number of instances maxInstancesPerNode in the ArcGIS Enterprise Administrator API for your service. For long-running web tools, use the asynchronous mode instead.