envoy-client-docs.gridmarkets.com
Open in
urlscan Pro
188.114.97.3
Public Scan
URL:
https://envoy-client-docs.gridmarkets.com/
Submission: On July 08 via automatic, source certstream-suspicious — Scanned from NL
Submission: On July 08 via automatic, source certstream-suspicious — Scanned from NL
Form analysis
1 forms found in the DOM<form>
<div class="form-group">
<input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here">
</div>
</form>
Text Content
GridMarkets Envoy Client v7.1.10 * Search * Introduction * Concepts * Installation * Creating an Envoy client instance * Authentication * Getting user details including credits balance * Discovering product types and supported product type plugins * Get all product types using product resolver * Get the list of versions by product type or plugin type * Get compatible combination for a specific product type and version * Get compatible combination for one or more product type and versions * Fetching machine types * Uploading and submitting project together * Uploading just the project files * Submitting a project skipping upload of files * Setting up a project with job dependencies * Setting credits budget limit and action trigger for a job * Fetching status of the project * Error handling * Getting package version * Validating authentication * Validating user credits * Blender job * Cinema4D job * Houdini Job * Maya job * Nuke job * V-Ray job INTRODUCTION GridMarkets Envoy client is Python library which enables users to upload project files, submit the project for processing and lookup status of submissions by interfacing with the Envoy service. CONCEPTS ENVOY Envoy is a tool which end users install on their machines to manage project files uploaded to GridMarkets, watch and download results. Envoy consists of a user interface portion and an underlying local web service typically running at http://localhost:8090. Both Envoy user interface and the Envoy client library uses the web service to interact with GridMarkets system. When the user opens the Envoy user interface, Envoy web service will automatically get started and keeps running in the background. PROJECT A project defines a group of one or more jobs which need to be processed together. JOB Job defines the product type, version and other parameters required for processing the same in GridMarkets. A job will be always be defined with a project. PRODUCT TYPES AND PLUGINS Each job can be defined to run on a specific product version along with a list of compatible product plugins. The following table shows the list of supported product types and their compatible plugins: Note: Value in brackets are the short code to be used while defining the product type ina job Product Type Compatible Plugins Blender (blender) V-Ray (blender_vray) Cinema 4D (c4d) Arnold (arnold), Redshift (redshift), V-Ray (vray) Houdini (hou) Arnold (htoa), Nuke (hton), Redshift (hou_redshift), Renderman (prman), FFMPEG Transcode (htot), V-Ray (hou_vray) Maya (hou) Arnold (mtoa), Redshift (maya_redshift), Renderman (maya_prman), V-Ray (maya_vray) Nuke (nuke) V-Ray (vray) All the currently active list of product types and compatible plugins including versions can be fetched via the product resolver explained further in a separate section. MACHINE TYPES CPU or a GPU machine type can be chosen to run a job depending on your requirement. Fetching the available machine types based on the product type and plugins are covered in a separate section. INSTANCES This defines the requested number of concurrent tasks/frames to run for the job. Note that the instances are constrained by your service plan applied across all your jobs. OPERATION TYPES Each job has to define a operation type to use. This is also used for fetching machine types to use as well. The following are the operation types supported: Operation type Description render Defines a render operation sim Defines a simulation operation composite Defines a composite operation transcode Defines a transcode operation Each product type defines the operation types supported. INSTALLATION The Envoy Python client library is available as a universal Wheel package for Python 2.6, 2.7 and 3.3+. Users can install it using pip or easy_install as a global module or to a specific folder path to use and package with product plugins. PRE-REQUISITES This has dependency on Python future and requests 2.x libraries. When using pip or easy_install, dependencies are automatically installed. USING IN PYTHON 2.6, 2.7 AND 3.3+ # Install as python global module pip install https://gm-envoy-client-docs.netlify.com/downloads/gridmarkets_envoy_client-7.1.10-py2.py3-none-any.whl # Install to a folder location to package with plugin pip install https://gm-envoy-client-docs.netlify.com/downloads/gridmarkets_envoy_client-7.1.10-py2.py3-none-any.whl -t <target_dir> CREATING AN ENVOY CLIENT INSTANCE from gridmarkets import EnvoyClient # create an instance of Envoy client envoy_client = EnvoyClient() AUTHENTICATION Authenticate user using authenticate method as below. AuthenticationError is thrown if authemtication is not successful. envoy_client.authenticate('your@email.address', 'your_password') GETTING USER DETAILS INCLUDING CREDITS BALANCE # get get user info user_info = envoy_client.get_user_info() RESPONSE { "created": "2019-07-01T15:27:48", "credits_available": 1000.0, "credits_consumed": 200.0, "email_address": "email_address", "job_throughput_limit": 30, "max_throughput": 30, "name": "your_name", "service_plan": "Standard" } DISCOVERING PRODUCT TYPES AND SUPPORTED PRODUCT TYPE PLUGINS Envoy client provides a product resolver which enables the user to do the following: * Get the list of all product types and their supported plugins. * Get the list of versions for a specific product type or plugin * Get compatible combination for one or more product types and/or plugins Every product and product plugin has an associated code and version to identify a specific product. Few examples below: * hou represents a Houdini product type * hou_redshift represents a Houdini Redshift plugin * hou:17.0.459 represents Houdini version 17.0.459 Above formats can be used to perform searches using the methods available in product resolver. GET ALL PRODUCT TYPES USING PRODUCT RESOLVER # get product resolver resolver = envoy_client.get_product_resolver() # get all products including plugins products = resolver.get_all_types() # get all products excluding plugins products = resolver.get_all_types(False) RESPONSE { "hou": { "versions": ["17.5.173", "17.5.229"], "is_plugin": false, "name": "Houdini", "business_vertical": "media" }, "hou_redshift": { "versions": ["2.6.38", "2.6.39"], "is_plugin": true, "name": "hou_redshift", "business_vertical": "media" } } GET THE LIST OF VERSIONS BY PRODUCT TYPE OR PLUGIN TYPE # get product resolver resolver = envoy_client.get_product_resolver() # get products for Houdini product type qry = 'hou' products = resolver.get_versions_by_type(qry) # get products supporting Houdini Redshift plugin qry = 'hou_redshift' products = resolver.get_versions_by_type(qry) RESPONSE ["14.0.395", "15.0.459"] GET COMPATIBLE COMBINATION FOR A SPECIFIC PRODUCT TYPE AND VERSION # get product resolver resolver = envoy_client.get_product_resolver() # get compatible combinations for a specific Houdini version # query type can be a list of tuple, the example below uses a tuple qry = ('hou:17.5.173',) # or qry = ['hou:17.5.173'] products = resolver.get_compatible_combinations(qry) RESPONSE { "hou_redshift": { "versions": ["2.6.37", "2.6.38", "2.6.39"], "is_plugin": true, "name": "Houdini", "business_vertical": "media" }, "htoa": { "versions": ["4.0.1", "4.0.2"], "is_plugin": true, "name": "htoa", "business_vertical": "media" } } GET COMPATIBLE COMBINATION FOR ONE OR MORE PRODUCT TYPE AND VERSIONS # get product resolver resolver = envoy_client.get_product_resolver() # get compatible combinations for Houdini versions 17.5.173 and 17.5.229 # query type can be a list of tuple, the example below uses a tuple qry = ('hou:17.5.173', 'hou:17.5.229') # or qry = ['hou:17.5.173', 'hou:17.5.229'] products = resolver.get_compatible_combinations(qry) RESPONSE { "hou_redshift": { "versions": ["2.6.37", "2.6.38", "2.6.39"], "is_plugin": true, "name": "hou_redshift", "business_vertical": "media" } } Note that the queries can be one or more product types or the short code which is a combination of product type and version. FETCHING MACHINE TYPES # get the CPU machines for say Cinema 4D # Refer to the product types and plugins section to know about the codes to be used envoy_client.get_machines('c4d', 'render', category=EnvoyClient.MACHINE_CATEGORY_CPU) # get the GPU machines for say Cinema 4D and Arnold plugin envoy_client.get_machines('c4d', 'render', category=EnvoyClient.MACHINE_CATEGORY_CPU, ['arnold']) # get all machine types for say Cinema 4D envoy_client.get_machines('c4d', 'render', category=EnvoyClient.MACHINE_CATEGORY_ALL) RESPONSE [ { "gpu": false, "id": "gm4800", "is_default": true, "name": "GM4800" }, { "gpu": false, "id": "gm6400", "is_default": false, "name": "GM6400" }, { "gpu": true, "id": "1xp100-ob220", "is_default": true, "name": "1xP100 : OB220" }, { "gpu": true, "id": "1xv100-ob330", "is_default": false, "name": "1xV100 : OB330" } ] UPLOADING AND SUBMITTING PROJECT TOGETHER Uploading of files and submission of the project for processing can be done together by following the steps below. This will be the common and most used method to send the project for processing in GridMarkets. Uploading and submitting can be performed separately as well, this is more useful when you would want to run multiple jobs with different parameters on the same job files. This is covered in a separate section. CREATE A INSTANCE OF ENVOYCLIENT from gridmarkets import EnvoyClient from gridmarkets import Project from gridmarkets import Job from gridmarkets import WatchFile # create an instance of Envoy client envoy_client = EnvoyClient() # authenticate user envoy_client.authenticate('your@email.address', 'your_password') CREATE A PROJECT # create a project # project files root folder path project_folder = "c:\\sample_project" # name of the project is optional, if not passed inferred from the project root folder # this is also used the as name for the remote root folder so ensure it is a valid file system folder name project_name = "sample_project" # submission name # this is optional argument, if not passed, a timestamp based submission name is automatically set submission_name = "submission 1" # results output folder name # this is optional argument to override the results folder name which is by default the submission name results_folder_name = "my_results" project = Project(project_folder, name=project_name, submission_name=submission_name, output_folder_name=results_folder_name) ADD PROJECT FILES FOR UPLOAD # add files to project # only files and folders within the project path can be added, use relative or full path # any other paths passed will be ignored # set the local folder, you can use path set in the project or can use a different folder path local_folder = "c:\\sample_project" # or project.LocalRoot # set the remote path, this path is either the remote folder or a folder within the remote folder path remote_folder = project.RemoteRoot # add 2 files from local folder into remote folder project.add_files(local_folder, remote_folder, ['sample.c4d', 'another_file.ext']) # add assets folder local_folder = "c:\\sample_project\\assets" # remote folders always use forward slashes as path separator remote_folder = project.RemoteRoot + '/assets' # all the files/folders in the local folder is added to the remote folder project.add_files(local_folder, remote_folder) ADD JOB # define the jobs # create a Cinema4D job job = Job( name="test job", # job name app="c4d", # product/app type app_version="R19", # product type version operation="render", # operation path="sample_project/sample.c4d", # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # instances - number of instances to to be used for processing the job machine_type='gm4800', # machine type to be used, check the section which describes fetching available machine types. If passed empty string then GridMarkets will select the default based on your profile settings plugins=None, # rest of the params are job specific params frames="0 0 1", output_height=600, output_width=400, output_format='tiff' ) # add job to project project.add_jobs(job) ADD WATCH FILES TO AUTO DOWNLOAD RESULTS # setting watch files to auto download results # Note that if watch files are not set, by default, results will get downloaded to the result folder argument `results_folder_name` set for the project. # results regex pattern to download # `project.remote_output_folder` provides the remote root folder under which results are available # below is the regex to look for all folders and files under `project.remote_output_folder` output_pattern = '{0}/.+'.format(project.remote_output_folder) # download path download_path = 'c:\\sample_project\my_results' # create a watch file watch_file = WatchFile(output_pattern, download_path) # add watch files, this will auto download results to the defined `download_path` project.add_watch_files(watch_file) SUBMIT PROJECT # submit project resp = envoy_client.submit_project(project) # returns project name UPLOADING JUST THE PROJECT FILES There are cases where users might want to upload files and then run multiple submission based on the already uploaded files. The code below details the step to upload project files. # upload files project response = envoy_client.upload_project_files(project) # returns project name SUBMITTING A PROJECT SKIPPING UPLOAD OF FILES As indicated in the prior section, users can perform multiple submissions with different parameters based on the already uploaded files. Note that all project files should be available in GridMarkets system for running jobs successfully. Follow the steps below to submit a project for processing in GridMarkets system. # submit project skip_upload = True envoy_client.submit_project(project, skip_upload) SETTING UP A PROJECT WITH JOB DEPENDENCIES Users can setup inter-job dependencies to enable GridMarkets system to pipeline the job processing accordingly. job1 = Job(...) job2 = Job(...) job3 = Job(...) # setting up job1 and job2 as dependencies to job3 # GridMarkets system will process job1 and job2 followed by job3. job3.add_dependencies(job1, job2) SETTING CREDITS BUDGET LIMIT AND ACTION TRIGGER FOR A JOB # create a job job = Job(...) # set credits limit for job and stop the job if consumed credits reaches 50 job.set_credits_budget(value=50.00,action=Job.CREDITS_BUDGET_ACTION_STOP) # set credits limit for job and suspend the job if consumed credits reaches 50 # When a job gets suspended, already running tasks are allowed to complete and non-started tasks are stopped job.set_credits_budget(value=50.00,action=Job.CREDITS_BUDGET_ACTION_SUSPEND) # set credits limit for job and send an email alert if consumed credits reaches 50 job.set_credits_budget(value=50.00,action=Job.CREDITS_BUDGET_ACTION_ALERT) FETCHING STATUS OF THE PROJECT # project name project_name = "sample_project" resp = envoy_client.get_project_status(project_name) RESPONSE { "Code": 200, "State": "Uploading", "Message": "File uploads in progress.", "BytesDone": 0, "BytesTotal": 2971998, "Details": { "/sample project/test.c4d": { "Name": "/sample project/test.c4d", "State": "Uploading", "BytesDone": 0, "BytesTotal": 2971998, "Speed": 0 } }, "Speed": 0 } { "Code": 200, "State": "Submitted", "Message": "Job submission successful.", "BytesDone": 2971998, "BytesTotal": 2971998, "Details": { "/sample project/test.c4d": { "Name": "/sample project/test.c4d", "State": "Completed", "BytesDone": 2971998, "BytesTotal": 2971998, "Speed": "0.00" } }, "Speed": 0 } ERROR HANDLING This section outlines the possible error/exceptions thrown by EnvoyClient while instantiating and calling the methods on it. It is always a good idea to wrap the instantiation and call to EnvoyClient functions within a try... except.. block. AUTHENTICATIONERROR This exception is thrown by Envoy client when user credentials are incorrect. INSUFFICIENTCREDITSERROR This exception is thrown when the user credits is not positive while doing a submission using the Envoy client. INVALIDREQUESTERROR If any of the Job data is incorrect then InvalidRequestError is thrown. APIERROR This is a generic error/exception thrown when EnvoyClient is not able to communicate with Envoy service or any other errors. ALL EXCEPTIONS IN TRY..CATCH.. BLOCK from gridmarkets import EnvoyClient from gridmarkets import Project from gridmarkets import Job from gridmarkets import * try: # create an instance of Envoy client envoy_client = EnvoyClient(email="EMAIL_ADDRESS", access_key="ACCESS_KEY") ... ... ... # any other calls on Envoy client except AuthenticationError as e: # handle the exception pertaining to AuthenticationError except InsufficientCreditsError as e: # handle the exception pertaining to InsufficientCreditsError except InvalidRequestError as e: # handle the exception pertaining to InvalidRequestError except ApIError as e: # handle the exception pertaining to APIError GETTING PACKAGE VERSION Use the code below to get the current package version version = envoy_client.version VALIDATING AUTHENTICATION For some cases like usage within a plugin, you would want to explicitly validate whether the user credentials are valid. You can use the code below to validate authentication try: is_auth_valid = envoy_client.validate_auth() except AuthenticationError as e: # handle exception, this means that the user credentials are not valid VALIDATING USER CREDITS For some cases like usage within a plugin, you would want to explicitly validate user credits. You can use the code below. try: is_valid_credits = envoy_client.validate_credits() except InsufficientCreditsError as e: # handle exception, this means that the user credits is not positive BLENDER JOB from gridmarkets import Job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used frames=FRAMES, # rest are all job specific params output_prefix=OUTPUT_PREFIX, output_format=OUTPUT_FORMAT, engine=RENDER_ENGINE, # optional param gpu=GPU # optional param ) Name Type Description JOB_NAME string Job name is the first argument passed to Job instance PRODUCT_TYPE string blender should be passed for Blender PRODUCT_VERSION string Supported Blender version should be passed, fetched via product resolver OPERATION string render is the only supported operation RENDER_FILE string Path to .blend file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.blend INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... OUTPUT_PREFIX string Defines the render output file prefix OUTPUT_FORMAT string Defines the render output format RENDER_ENGINE string (optional) Defines the render engine to be used GPU bool (optional) Defines if a GPU is required for running the job. CINEMA4D JOB from gridmarkets import Job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used frames=FRAMES, # rest are all job specific params output_height=OUTPUT_HEIGHT, output_width=OUTPUT_WIDTH, output_prefix=OUTPUT_PREFIX, output_format=OUTPUT_FORMAT, output_multipass_prefix=OUTPUT_MULTIPASS_PREFIX # optional param, gpu=GPU ) Name Type Description JOB_NAME string Job name is the first argument passed to Job instance PRODUCT_TYPE string c4d should be passed for Cinema4D PRODUCT_VERSION string Supported Cinema4D version should be passed fetched via product resolver OPERATION string render is the only supported operation RENDER_FILE string Path to .c4d file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.c4d INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... OUTPUT_WIDTH number Defines the render output file width OUTPUT_HEIGHT number Defines the render output file height OUTPUT_PREFIX string Defines the render output file prefix OUTPUT_FORMAT string Defines the render output file format OUTPUT_MULTIPASS_PREFIX string (optional) Defines the multipass render output file prefix GPU bool (optional) Defines if a GPU is required for running the job. HOUDINI JOB PROJECT LEVEL PARAMETERS # create a project project = Project(SRC_PATH, PROJECT_NAME, project_summary_log_file=PROJECT_SUMMARY_LOG_FILE, project_param_output=PROJECT_PARAM_OUTPUT, project_param=PROJECT_PARAM, project_env=PROJECT_ENV) Project level parameters are common and shared across all jobs in the project. Name Type Description PROJECT_SUMMARY_LOG_FILE string Defines the path of the summary log files generated by Houdini plugin PROJECT_PARAM_OUTPUT list Defines the list of project output parameters PROJECT_PARAM dict Defines the project output parameter mappings PROJECT_ENV dict Defines the project level environment variable mappings PROJECT_PARAM dict Defines the project parameters JOB LEVEL PARAMETERS # create Houdini job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used frames=FRAMES, take=TAKE, rop_nodetype=ROP_NODE_TYPE, rop_nodepath=ROP_NODE_PATH, output_upload=OUTPUT_UPLOAD, disk_output_ext=DISK_OUTPUT_EXT, disk_output_mode=DISK_OUTPUT_MODE, disk_output_parm=DISK_OUTPUT_PARM, disk_output_path=DISK_OUTPUT_PATH, disk_output_renderer=DISK_OUTPUT_RENDERER, disk_output_path_parm=DISK_OUTPUT_PATH_PARM gpu=GPU) Name Type Description JOB_NAME string Job name is the first argument passed to Job instance. PRODUCT_TYPE string hou should be passed for Houdini.; PRODUCT_VERSION string Supported Houdini version should be passed fetched via product resolver. OPERATION string (optional) render, batch are supported operations. Default is render if this parameter is not passed. RENDER_FILE string Path to .hip, .hipnc, .hiplc file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.hip. INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... ROP_NODE_TYPE string Defines the render operation node type. ROP_NODE_PATH string Defines the render operation node path. OUTPUT_UPLOAD list Defines the output pattern to be uploaded to long time storage (LTS). DISK_OUTPUT_EXT string (optional) Defines the disk output extension. DISK_OUTPUT_MODE string (optional) Defines the disk output mode. DISK_OUTPUT_PARM string (optional) Defines the disk output parameter. DISK_OUTPUT_PATH string (optional) Defines the disk output path. DISK_OUTPUT_RENDERER string (optional) Defines the disk output renderer. DISK_OUTPUT_PATH_PARM string (optional) Defines the disk output path parameter. GPU bool (optional) Defines if a GPU is required for running the job. MAYA JOB # create Maya job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used ## Maya specific parameters frames=FRAMES, output_height=OUTPUT_HEIGHT, output_width=OUTPUT_WIDTH, output_prefix=OUTPUT_PREFIX, output_format=OUTPUT_FORMAT, camera=CAMERA, renderer=RENDERER, gpu=GPU Name Type Description JOB_NAME string Job name is the first argument passed to Job instance PRODUCT_TYPE string maya should be passed for V-Ray PRODUCT_VERSION string Supported V-Ray version should be passed fetched via product resolver OPERATION string render is the only supported operation RENDER_FILE string Path to .ma or .mb file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.vrscene INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... OUTPUT_WIDTH number Defines the render output width OUTPUT_HEIGHT number Defines the render output height OUTPUT_PREFIX string Defines the render output file prefix OUTPUT_FORMAT string Defines the render output format GPU bool (optional) Defines if a GPU is required for running the job. NUKE JOB # create Nuke job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used frames=FRAMES, gpu=GPU # optional param Name Type Description JOB_NAME string Job name is the first argument passed to Job instance. PRODUCT_TYPE string nuke should be passed for Nuke.; PRODUCT_VERSION string Supported Nuke version should be passed fetched via product resolver. OPERATION string (optional) render is the only supported operations. Default is render if this parameter is not passed. RENDER_FILE string Path to .nk file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.nk. INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... GPU bool (optional) Defines if a GPU is required for running the job. V-RAY JOB from gridmarkets import Job job = Job( name=JOB_NAME, # job name app=PRODUCT_TYPE, # product type app_version=PRODUCT_VERSION, # product version operation=OPERATION, # operation path=RENDER_FILE, # job file to be run, note that the path is relative to the project name which is also the remote folder name instances=5, # requested concurrent machines machine_type=MACHINE_TYPE, # machine type to use plugins=PLUGINS, # plugins to be used frames=FRAMES, # rest are all job specific params output_height=OUTPUT_HEIGHT, output_width=OUTPUT_WIDTH, output_prefix=OUTPUT_PREFIX, output_format=OUTPUT_FORMAT, rt_engine=RT_ENGINE, # optional param sampling_type=SAMPLING_TYPE # optional param remap_file=REMAP_FILE # optional param ) Name Type Description JOB_NAME string Job name is the first argument passed to Job instance PRODUCT_TYPE string vray should be passed for V-Ray PRODUCT_VERSION string Supported V-Ray version should be passed fetched via product resolver OPERATION string render is the only supported operation RENDER_FILE string Path to .vrscene file expressed relative to the remote project folder. If your project name is sample_project then remote root becomes /sample project. Render file path example is /sample project/sample.vrscene INSTANCES number Requested number of concurrent machine to process job MACHINE_TYPE string Machine type to use, see section fetching machine types PLUGINS string list Plugins to use FRAMES string Defines the frame range in format start [end] [step],[start [end] [step]],... OUTPUT_WIDTH number Defines the render output width OUTPUT_HEIGHT number Defines the render output height OUTPUT_PREFIX string Defines the render output file prefix OUTPUT_FORMAT string Defines the render output format RT_ENGINE number Defines the RT engine, supported values are regular render (0), CPU RT (1), GPU RT on OpenCL (3), GPU RT on CUDA (5) SAMPLING_TYPE number Defines the sampling type, progressive or bucket REMAP_FILE number XML file path which maps absolute paths to server folder resolved paths -------------------------------------------------------------------------------- Documentation built with MkDocs. SEARCH ×Close From here you can search these documents. Enter your search terms below. KEYBOARD SHORTCUTS ×Close Keys Action ? Open this help n Next page p Previous page s Search