Hello Hugh_G,
Run Script operation would not be automatically scaled across the network, so if you are interested in the distributed computations run via Python, you can do it in the following way:
import PhotoScan
path = PhotoScan.app.getOpenFileName("Specify path to the document:")
root = PhotoScan.app.getExistingDirectory("Specify network root path:")
doc = PhotoScan.Document()
doc.open(path)
chunk = doc.chunk
client = PhotoScan.NetworkClient()
tasks = list()
task = PhotoScan.Tasks.MatchPhotos()
task.downscale = 2
task.keypoint_limit = 20000
network_task = PhotoScan.NetworkTask()
network_task.name = task.name
network_task.params = task.encode()
network_task.frames.append((chunk.key, 0))
tasks.append(network_task)
task = PhotoScan.Tasks.AlignCameras()
network_task = PhotoScan.NetworkTask()
network_task.name = task.name
network_task.params = task.encode()
network_task.chunks.append(chunk.key) #such approach should be used for AlignCameras and OptimizeCameras tasks
tasks.append(network_task)
task = PhotoScan.Tasks.BuildDepthMaps()
task.downscale = 4
task.filter_mode = PhotoScan.FilterMode.AggressiveFiltering
network_task = PhotoScan.NetworkTask()
network_task.name = task.name
network_task.params = task.encode()
network_task.frames.append((chunk.key, 0))
tasks.append(network_task)
client.connect("192.168.0.1") #server ip
batch_id = client.createBatch(path[len(root):], tasks)
client.resumeBatch(batch_id)
So basically, it creates the list of tasks and sends them to the network server.