'proj': mayaProjPath, 'scene': mayaScenePath, 's': startFrame, 'e': endFrame, 'packetSize': packetSize, 'framesList': framesList, 'rx': resX, 'ry': resY, 'cam': camera, 'as': '1', 'o': outFileFormat, 'pad': paddingSize, 'f': renderDirPath, 'p': outFileNamePrefix } tags = { "prod":"test", "shot":"test" } decomposer='puliclient.contrib.puliDbg.mtoa.MtoaDecomposer' graph = Graph('mtoa_graph', tags=tags, poolName='default' ) graph.addNewTask( "mtoa_task", tags=tags, arguments=arguments, decomposer=decomposer, lic="shave&mtoa" ) graph.submit("vfxpc64", 8004) # graph.execute()
from puliclient import Task, Graph if __name__ == '__main__': simpleTask = Task(name="simpleTask", arguments={}, decomposer="puliclient.contrib.generic.GenericDecomposer") graph = Graph('simpleGraph', simpleTask) host, port = ("127.0.0.1", 8004) graph.submit(host, port)
tags = { "prod":"test", "shot":"test", "nbFrames":options.num } # # Create custom graph # simpleTask = Task( name=options.jobname, arguments=args, tags=tags, runner="puliclient.contrib.commandlinerunner.CommandLineRunner", lic="katana" ) # simpleTask = Task( name="T-Generic", arguments=args, tags=tags, runner="puliclient.contrib.debug.WaitRunner" ) graph = Graph( options.jobname, simpleTask, tags=tags, poolName='default' ) # graph.addNewTask( name="T1", arguments={ "args": command, "start":1, "end":5, "packetSize":1 }, tags={ "prod":"test", "shot":"test", "nbFrames":5}, runner=runner ) # # # g1 = graph.addNewTaskGroup( name="group1", tags=tags ) # g1.addTask( simpleTask ) # g1.addNewTask( name="T2", arguments={ "args": command, "start":1, "end":1, "packetSize":1 }, tags={ "prod":"test", "shot":"test", "nbFrames":1}, runner=runner ) # g1.addNewTask( name="T3", arguments={ "args": command, "start":1, "end":1, "packetSize":1 }, tags={ "prod":"test", "shot":"test", "nbFrames":1}, runner=runner ) # # graph.addNewTask( name="T4", arguments={ "args": command, "start":1, "end":10, "packetSize":1 }, tags={ "prod":"test", "shot":"test", "nbFrames":10}, runner=runner ) if options.dump: print graph # # Execute # if options.execute: graph.execute() else: graph.submit(options.hostname, options.port)
#!/usr/bin/python # coding: utf-8 import sys sys.path.insert(0,"/s/apps/lin/vfx_test_apps/OpenRenderManagement/Puli/src") from puliclient import Task, Graph # command = "nuke -x -F %%MI_FRAME%% ma_comp.nk" # command = "nuke -x -F %%MI_START%%-%%MI_END%% ma_comp.nk" # command = "echo currFrame=%%MI_FRAME%% in [%%MI_START%%-%%MI_END%%]" command = "sleep %%MI_FRAME%%s" arguments={ 'cmd':command, 'start':1, 'end':50 , 'packetSize':10} tags = { "prod":"test", "shot":"test" } graph = Graph('Testing DefaultRunner', tags=tags, poolName='default' ) task1 = graph.addNewTask( "TASK_1", tags=tags, arguments=arguments ) graph.submit( "puliserver", 8004) # # Pour une execution en local # #graph.execute()
parser.add_argument('nbTasks', metavar='NB_TASK', type=int, help='Number of task by group.') parser.add_argument('nbCmds', metavar='NB_CMD', type=int, help='Number of commands by task') parser.add_argument('server', metavar='SERVER', type=str, help='Name of the server on which to submit job') parser.add_argument('--sleep', type=int, default=5, help='Sleep duration in s') args = parser.parse_args() # Create graph runner = "puliclient.contrib.generic.GenericRunner" name = "Job_Test" tags = {"prod": "mikros_test", "comment": "JOB TEST", "nbFrames": 1} puliGraph = Graph(name, poolName='mik', tags=tags, maxRN=5) print "NB_GROUP = " + str(args.nbGroups) print "NB_TASK = " + str(args.nbTasks) print "NB_CMD = " + str(args.nbCmds) print "SERVER = " + args.server createFolderNodes(puliGraph, args.nbGroups, args.nbTasks, args.nbCmds, args.sleep) puliGraph.submit(args.server, 8004)
if __name__ == "__main__": # # Submission script # tags = { "prod": "prod_name", "shot": "shot_code", # Add any valuable info relative to the job here: type, step, version, iteration... } # First we create a graph # Added to the graph is a dict of tags that will be used to clarify the job process graph = Graph('simple job', tags=tags) # To define a Task, we need 3 arguments : # - its name # - a runner is a python class that defines the workflow execution for a given job type. # Here, we will use MyRunner which has been declared previously # - an arguments dict name = "wait 10s" runner = "example.MyRunner" arguments = {"wait": 10} # Then add a new task to the graph graph.addNewTask(name, runner=runner, arguments=arguments) # Finally submit the graph to the server graph.submit("pulitest", 8004)
def submit(job, poolName=None): g = Graph(job.name, job, username(), poolName) print g.submit(gethost(), getport())
help='Number of task by group.') parser.add_argument('nbCmds', metavar='NB_CMD', type=int, help='Number of commands by task') parser.add_argument('server', metavar='SERVER', type=str, help='Name of the server on which to submit job') parser.add_argument('--sleep', type=int, default=5, help='Sleep duration in s') args = parser.parse_args() # Create graph runner = "puliclient.contrib.generic.GenericRunner" name = "Job_Test" tags = {"prod": "mikros_test", "comment": "JOB TEST", "nbFrames": 1} puliGraph = Graph(name, poolName='mik', tags=tags, maxRN=5) print "NB_GROUP = " + str(args.nbGroups) print "NB_TASK = " + str(args.nbTasks) print "NB_CMD = " + str(args.nbCmds) print "SERVER = " + args.server createFolderNodes(puliGraph, args.nbGroups, args.nbTasks, args.nbCmds, args.sleep) puliGraph.submit(args.server, 8004)
if __name__ == "__main__": # # Submission script # tags = { "prod": "prod_name", "shot": "shot_code", # Add any valuable info relative to the job here: type, step, version, iteration... } # First we create a graph # Added to the graph is a dict of tags that will be used to clarify the job process graph = Graph("simple job", tags=tags) # To define a Task, we need 3 arguments : # - its name # - a runner is a python class that defines the workflow execution for a given job type. # Here, we will use MyRunner which has been declared previously # - an arguments dict name = "wait 10s" runner = "example.MyRunner" arguments = {"wait": 10} # Then add a new task to the graph graph.addNewTask(name, runner=runner, arguments=arguments) # Finally submit the graph to the server graph.submit("pulitest", 8004)
tags = { "prod":"test", "shot":"test" } decomposer = "puliclient.contrib.generic.GenericDecomposer" graph = Graph('simpleGraph', tags=tags) task1 = graph.addNewTask(name="task1", arguments=args, tags=tags) task2 = graph.addNewTask(name="task2", arguments=args, tags=tags) task3 = graph.addNewTask(name="task3", arguments=args, tags=tags) task4 = graph.addNewTask(name="task4", arguments=args, tags=tags) task5 = graph.addNewTask(name="task5", arguments=args, tags=tags) task6 = graph.addNewTask(name="task6", arguments=args, tags=tags) # Create a chain of dependencies, execution order will be: # task1 > task4 > task3 > task2 > task5 > task6 graph.addChain( [task1, task4, task3, task2, task5, task6] ) graph.submit(host="vfxpc64") # PREVIOUS METHOD (still valid) # task1 = Task(name="task1", arguments=args, decomposer=decomposer) # task2 = Task(name="task2", arguments=args, decomposer=decomposer) # task3 = Task(name="task3", arguments=args, decomposer=decomposer) # task4 = Task(name="task4", arguments=args, decomposer=decomposer) # task5 = Task(name="task5", arguments=args, decomposer=decomposer) # task6 = Task(name="task6", arguments=args, decomposer=decomposer) # mainTG = TaskGroup( name="group" ) # mainTG.addTask(task1) # mainTG.addTask(task2) # mainTG.addTask(task3) # mainTG.addTask(task4)
# First we create a graph # Added to the graph is a dict of tags that will be used to clarify the job process graph = Graph('job with callable', tags=tags) # First task name = "callable function" graph.addNewCallable( myFunction, "callable function", user_args=("param1", "param2"), user_kwargs={"wait": 10}, ) # Second task name = "callable method" graph.addNewCallable( MyClass.myMethod, "callable method", user_args=(), user_kwargs={ "param1": "first_param", "param2": "second_param", "wait": 10 }, ) # Finally submit the graph to the server graph.submit("vfxpc64", 8004)
def submit(job, poolName=None, maxRN=-1): g = Graph(job.name, job, username(), poolName, maxRN) print g.submit(gethost(), getport())