Skip to content

Commit 700ee8f

Browse files
committed
[submitter] Add tractor API
1 parent c2f3115 commit 700ee8f

File tree

6 files changed

+556
-11
lines changed

6 files changed

+556
-11
lines changed

meshroom/core/graph.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1711,7 +1711,7 @@ def submitGraph(graph, submitter, toNodes=None, submitLabel="{projectName}"):
17111711
res = sub.submit(nodesToProcess, edgesToProcess, graph.filepath, submitLabel=submitLabel)
17121712
if res:
17131713
for node in nodesToProcess:
1714-
node.submit() # update node status
1714+
node.initStatusOnSubmit() # update node status
17151715
except Exception as e:
17161716
logging.error(f"Error on submit : {e}")
17171717

meshroom/core/node.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,8 @@ def updateStatusFromCache(self):
13151315
# logging.warning(f"updateStatusFromCache: {self.name}, status: {s} => {self.globalStatus}")
13161316
self.updateOutputAttr()
13171317

1318-
def submit(self, forceCompute=False):
1318+
def initStatusOnSubmit(self, forceCompute=False):
1319+
""" Prepare chunks status when the node is in a graph that was submitted """
13191320
for chunk in self._chunks:
13201321
if forceCompute or chunk.status.status != Status.SUCCESS:
13211322
chunk._status.setNode(self)

meshroom/core/taskManager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ def submit(self, graph, submitter=None, toNodes=None, submitLabel="{projectName}
434434
if res:
435435
for node in nodesToProcess:
436436
node.destroyed.connect(lambda obj=None, name=node.name: self.onNodeDestroyed(obj, name))
437-
node.submit() # update node status
437+
node.initStatusOnSubmit() # update node status
438438
self._nodes.update(nodesToProcess)
439439
self._nodesExtern.extend(nodesToProcess)
440440

meshroom/submitters/simpleFarmSubmitter.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,11 @@ def createTask(self, meshroomFile, node):
7575
allRequirements.extend(self.config['RAM'].get(node.nodeDesc.ram.name, []))
7676
allRequirements.extend(self.config['GPU'].get(node.nodeDesc.gpu.name, []))
7777

78+
executable = 'meshroom_compute' if self.reqPackages else os.path.join(binDir, 'meshroom_compute')
79+
taskCommand = f"{executable} --node {node.name} \"{meshroomFile}\" {parallelArgs} --extern"
7880
task = simpleFarm.Task(
79-
name=node.name,
80-
command='{exe} --node {nodeName} "{meshroomFile}" {parallelArgs} --extern'.format(
81-
exe='meshroom_compute' if self.reqPackages else os.path.join(binDir, 'meshroom_compute'),
82-
nodeName=node.name, meshroomFile=meshroomFile, parallelArgs=parallelArgs),
83-
tags=tags,
84-
rezPackages=self.reqPackages,
85-
requirements={'service': str(','.join(allRequirements))},
86-
**arguments)
81+
name=node.name, command=taskCommand, tags=tags, rezPackages=self.reqPackages,
82+
requirements={'service': str(','.join(allRequirements))}, **arguments)
8783
return task
8884

8985
def submit(self, nodes, edges, filepath, submitLabel="{projectName}"):

0 commit comments

Comments
 (0)