Submission Interface

Submission Interface

Submission Interface allows direct submission of tasks for distributed execution by IncrediBuild. This interface allows easy distribution from batch files, scripts, and custom tools; it can also be used at a higher level, i.e., to execute every command line or process in parallel on remote machines.
With this interface, calls to original command lines are replaced with calls to xgSubmit.exe accepting the original command line as input. Each call to xgSubmit.exe queues the specified command line for distributed and parallel execution. xgWait.exe can be called from the script to pause execution until a specified group of tasks has completed (allowing dependencies between groups of parallel tasks). Finally, the script/tool itself is called using IBConsole.exe. As with all IncrediBuild interfaces, all remotely performed tasks fully emulate the initiating machine's environment and file system, eliminating the need to copy files or install applications on remote machines.

Advantages and Disadvantages

This approach is particularly suitable for running tasks from within scripts, such as batch files. Use of Submission Interface does not entail significant changes to existing code and is most suitable when you want full control to execute the same type of process, sometimes locally and sometimes remotely, depending on certain scenarios. However, minor changes do need to take place and if an application or script has thousands of tasks, their execution can be tedious. If you are indifferent regarding which specific process instance of a process type (name) will be executed locally or remotely by IncrediBuild, the “Automatic Interception” interface can better suit your needs.

Advantages include:

Use this interface if you want to:

  1. Speed up builds run by Make tools, which do not support local parallel task execution (such as Microsoft NMAKE).
  2. Distribute a process running through a batch file or script.
  3. Distribute a process running through a custom application, and prefer the direct Submission interface over creating an XML file describing the tasks to be distributed or over customizing your tool to support local parallel task execution.

Contents of This Section: