|
POST
|
Take a look at this blog post, which discusses using the Windows Task Scheduler and Python installed on the machine. It's somewhat similar to running a script using the command prompt, you'd pass in the path to the python.exe and then the script as an argument.
... View more
03-24-2017
09:33 AM
|
2
|
1
|
1242
|
|
POST
|
You shouldn't really be concerned with the resources the Web Adaptor will use. The system requirements for the Web Adaptor don't list CPU or RAM requirements because it's simply a reverse proxy running within an application pool. A setting that may be of interest to you within the application pool is the number of worker processes. However, it would be difficult to give definitive answers on performance as there are a lot of factors that go into those types of answers. For example, how many concurrent users will be accessing the services at peak time? How responsive are the services behind the web adaptors? What else is running in IIS? Your best approach is to run load tests using JMeter or another load testing application in a QA environment that mimics your production environment. The only way you'll really know if your configuration is good is if you test it.
... View more
03-24-2017
09:16 AM
|
2
|
0
|
3701
|
|
POST
|
I don't think you'll need to do anything with the map service after updating the geometry type. The only thing you'll probably need to deal with is locks on the data, which you'll get around by stopping the services. For your other question, they don't need to be republished, but you won't be able to add a field if the option to disable schema locking isn't checked within the map service properties. Lots of negatives there, so to add a field while a service is using the data, disable schema locking.
... View more
03-23-2017
05:33 PM
|
0
|
0
|
1352
|
|
POST
|
No, casing shouldn't matter. All that really matters is that the machine is reachable and the Data Store service is running. Can you take a backup of Data Store and then restore it manually? That's really what the DR tool is doing, it just bundles up Portal and Server.
... View more
03-23-2017
03:35 PM
|
0
|
0
|
1893
|
|
POST
|
If you call on the variable without printing, it'll be correct as a Result object. If you print the variable you'll see the backslash is not escaped: >>> gdb = arcpy.CreateFileGDB_management("C:/Temp","blah.gdb")
>>> gdb
<Result 'C:/Temp\\blah.gdb'>
>>> print(gdb)
C:/Temp\blah.gdb
>>> arcpy.Exists(gdb)
True
>>> arcpy.env.workspace = gdb
Runtime error
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\geoprocessing\_base.py", line 541, in set_
self[env] = val
File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\geoprocessing\_base.py", line 601, in __setitem__
ret_ = setattr(self._gp, item, value)
RuntimeError: Object: Error in accessing environment <workspace>
>>> arcpy.env.workspace = str(gdb).replace("\\","/")
>>> arcpy.env.workspace
u'C:/Temp/blah.gdb' There seems to be different implementations of arcpy.Exists and arcpy.env.workspace, as the latter seems to look at the result as a string.
... View more
03-23-2017
02:32 PM
|
1
|
3
|
5930
|
|
POST
|
Just to provide more insight, if you print the gdb variable, you'll get "<basedir>\<gdb_name>". The OS separator between the out file path and FGDB name isn't escaped properly, as it's set to a backslash, which is why you see that runtime error when trying to use the gdb variable as is. In one line, this worked: gdb = str(arcpy.CreateFileGDB_management(outDir,outName)).replace("\\","/") You can replace the single backslash, (escaped with a double backslash), with a forward slash.
... View more
03-23-2017
12:04 PM
|
1
|
5
|
5930
|
|
POST
|
I would use ProcMon to determine the file activity that occurs when Server attempts to write to that location. You can filter for the specific directory path so you only return traffic to that directory. I assume you'll see some errors in the log.
... View more
03-23-2017
11:21 AM
|
0
|
0
|
1668
|
|
POST
|
Do the logs shed any more light on the problem? This is a single machine site?
... View more
03-23-2017
11:19 AM
|
0
|
1
|
5954
|
|
POST
|
You should be using the arcpy.env.scratchFolder to construct the path to output data. I'm also using the os.path.join function to construct the path to output data. Finally, you don't need to create a feature layer again to return the data, simply return the data the updateFCPath variable is pointing to. import os
filePath = arcpy.env.scratchFolder
data = datetime.datetime.now()
timestamp = str(data).replace("-","").replace(":","").replace(".","").replace(" ","_")
events_l = arcpy.MakeFeatureLayer_management("event_lyr", "events_layer")
print "Inizio segmentazione dinamica eventi"
updateFCPath = os.path.join(filePath,"{0}.shp".format(timestamp))
updateFC = arcpy.CopyFeatures_management(events_l,updateFCPath)
arcpy.SelectLayerByAttribute_management("event_lyr", "NEW_SELECTION", "LOC LIKE 'LO%'")
arcpy.AddMessage("num_sel: " + str(arcpy.GetCount_management("event_lyr")))
print("num_sel: " + str(arcpy.GetCount_management("event_lyr")))
layer = arcpy.MakeFeatureLayer_management(Lo_UTM, "loc_lyr")
sourceFC = layer
sourceField = ['OR_ID','SHAPE@']
valueDict = {r[0]:(r[1:]) for r in arcpy.da.SearchCursor(sourceFC, sourceField)}
updateFieldsList = ["loc", "Shape"]
with arcpy.da.UpdateCursor(updateFC, updateFieldsList) as updateRows:
for updateRow in updateRows:
keyValue = updateRow[0]
print(keyValue)
if keyValue in valueDict:
updateRow[1] = valueDict[keyValue][0]
print(valueDict[keyValue][0])
updateRows.updateRow(updateRow)
arcpy.SelectLayerByAttribute_management('event_lyr', "CLEAR_SELECTION")
arcpy.SetParameter(1,updateFCPath) What is "event_lyr", used initially on line 7? If that's already a feature layer, there's no need to run the Make Feature Layer tool again, and you don't really need to store it on disk. I've also added the arcpy.AddMessage line so you see the print statement on line 4. data = datetime.datetime.now()
timestamp = str(data).replace("-","").replace(":","").replace(".","").replace(" ","_")
print "Inizio segmentazione dinamica eventi"
arcpy.AddMessage("Inizio segmentazione dinamica eventi")
arcpy.SelectLayerByAttribute_management("event_lyr", "NEW_SELECTION", "LOC LIKE 'LO%'")
arcpy.AddMessage("num_sel: " + str(arcpy.GetCount_management("event_lyr")))
print("num_sel: " + str(arcpy.GetCount_management("event_lyr")))
layer = arcpy.MakeFeatureLayer_management(Lo_UTM, "loc_lyr")
sourceFC = layer
sourceField = ['OR_ID','SHAPE@']
valueDict = {r[0]:(r[1:]) for r in arcpy.da.SearchCursor(sourceFC, sourceField)}
updateFieldsList = ["loc", "Shape"]
with arcpy.da.UpdateCursor(updateFC, updateFieldsList) as updateRows:
for updateRow in updateRows:
keyValue = updateRow[0]
print(keyValue)
if keyValue in valueDict:
updateRow[1] = valueDict[keyValue][0]
print(valueDict[keyValue][0])
updateRows.updateRow(updateRow)
arcpy.SelectLayerByAttribute_management('event_lyr', "CLEAR_SELECTION")
arcpy.SetParameter(1,"event_lyr")
... View more
03-23-2017
11:16 AM
|
0
|
3
|
4406
|
|
POST
|
I would take a look at the http requests when logging in. Spin up Fiddler or use the Dev Tools to see which requests take the longest, then you can work from there to determine why they take so long.
... View more
03-23-2017
11:03 AM
|
1
|
0
|
1811
|
|
POST
|
Was the ArcGIS Data Store validating prior to running the restore? The error is pretty specific in stating that no connection could be made to the Data Store. Do you have both the relational and tile cache data store configured?
... View more
03-23-2017
11:02 AM
|
0
|
2
|
1893
|
|
POST
|
Are you seeing that error when going through the web adaptor? Can you try to reach the portal through 7443?
... View more
03-22-2017
08:53 AM
|
0
|
0
|
1646
|
|
POST
|
My suggestion is again, to disable public access to your internal network until you have an understanding of web servers. More helpfully, though, don't use the reverse proxy rules within IIS. Install the Web Adaptor on the machine that's publicly accessible to the internet and register it with ArcGIS Server. You'll still need to disable Windows Authentication on the web server.
... View more
03-21-2017
11:51 AM
|
1
|
0
|
1520
|
|
POST
|
What do you mean by "corrupt"? If you were to navigate to https://<machine>:7443/arcgis/portaladmin can you reach the machine? Do you see a javaw.exe process running when Portal is running?
... View more
03-20-2017
08:49 AM
|
0
|
2
|
1646
|
|
POST
|
Was it a hosted service? If they were using ArcGIS Data Store, then they were also using Portal, in which case the two types of services you can publish are "hosted" and "non-hosted" services. Non-hosted services are the traditional map services that you'd publish directly to ArcGIS Server. The data can be referenced in the original location it's stored in or copied to the Server when publishing. These spin up an ArcSOC.exe process, which consumes memory and CPU on the machine. Hosted services can be published directly to the Portal and the data is copied into the ArcGIS Data Store. They don't spin up an ArcSOC.exe process, thus conserving resources on the machine, and you can publish significantly more of these types of services than traditional services. I don't work too much with GeoEvent, but a lot of clients spin up a hosted service as output, (analysis tools, Insights, etc), so perhaps GeoEvent was creating one of these types.
... View more
03-20-2017
08:48 AM
|
0
|
1
|
859
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-28-2026 06:05 AM | |
| 1 | 08-26-2016 10:10 AM | |
| 2 | 02-22-2024 07:22 AM | |
| 1 | 06-07-2024 07:11 AM | |
| 4 | 12-12-2024 08:52 AM |
| Online Status |
Offline
|
| Date Last Visited |
06-08-2026
07:43 AM
|