ArcToolbox Distribution...help with decisions to make

Discussion created by jamesfreddyc on Oct 18, 2012
ArcGIS 9.3.1
Python 2.5.1

Currently in-between an organization wide roll-out of ArcGIS 10.1 but have some time that requires support for ArcGIS 9.3.1 tools (existing and some recently developed tools) and I am looking for some advice on distribution model. 

(note: Py/toolbox dev is fairly new for me.  Most of my dev work is in the form of C# classes distributed to users via .msi installers)

Anyway, I was originally going to use this as my model for distributing ArcToolbox items:


This would reside on a network file server.  However, I have been able to alter this to eliminate the need for any temporary Geodatabase (PGDB) and have moved the temporary data to be completely generated and deleted in the IN_MEMORY space.  My concern and question(s) pertain to this and I am not certain of the behavior in a mult-user environment.

1.  What would happen if UserA runs the tool and it begins its process to (first clear the IN_MEMORY space) and build 4 FeatureClasses, but before it finishes UserB starts the same process?  That is, I would think UserA would lose data or get corrupted data as UserB processes within this same "IN_MEMORY" space.

2.  Per #1 above, I don't see how a PGDB would be any different.  Could someone explain how the scenario above would be rectified or work if instead of processing the data within IN_MEMORY, it processes in the PGDB in the scratch.mdb?

3.  Any input on the distribution model above and how it would work in ANY multi-user environment --- I just don't see how concurrency can be accomplished with this model.  Please help me understand how it would work.