Quick Start¶
Get RushTI running in 10 minutes. By the end you'll have a parallel workflow executing TI processes on your TM1 server.
Prerequisites
Make sure you've completed Installation — RushTI is installed and config/config.ini is configured with your TM1 connection.
Step 1: Create a Task File (Normal Mode)¶
The quickest way to get started is with a plain TXT file. Save this as my-tasks.txt:
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=2
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=5
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=3
wait
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=4
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=2
wait
instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=3
Tip
}bedrock.server.wait ships with every Bedrock installation — it just waits for the specified number of seconds. Perfect for testing without creating any custom TI processes.
What this does: Each line is a task. Tasks between wait lines run in parallel. The first three tasks execute simultaneously (~5s instead of ~10s sequential), then wait pauses until all three finish, the next two run in parallel, another wait, then the final task.
Step 2: Run It¶
RushTI starts. Parameters: ['my-tasks.txt', '--max-workers', '4']
Loaded 6 tasks from TXT task file (classic mode)
Executing process: '}bedrock.server.wait' on instance: 'tm1srv01'
Executing process: '}bedrock.server.wait' on instance: 'tm1srv01'
Executing process: '}bedrock.server.wait' on instance: 'tm1srv01'
Execution successful: '}bedrock.server.wait' (pWaitSec=2) completed in 2.1s
Execution successful: '}bedrock.server.wait' (pWaitSec=3) completed in 3.1s
Execution successful: '}bedrock.server.wait' (pWaitSec=5) completed in 5.1s
Executing process: '}bedrock.server.wait' on instance: 'tm1srv01'
Executing process: '}bedrock.server.wait' on instance: 'tm1srv01'
...
RushTI ends. 0 fails out of 6 executions. Elapsed time: 12.3s
Success
The first three tasks ran in parallel (~5s) instead of sequentially (~10s). The wait keyword controlled the flow between groups.
Step 3: Add Dependencies (Optimized Mode)¶
The wait keyword is simple but coarse — it blocks all tasks until the entire group finishes. With optimized mode, you can say exactly which tasks depend on which:
Save this as my-tasks-opt.txt:
id="1" predecessors="" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=2
id="2" predecessors="" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=5
id="3" predecessors="" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=3
id="4" predecessors="2" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=4
id="5" predecessors="1,3,4" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=2
id="6" predecessors="5" instance="tm1srv01" process="}bedrock.server.wait" pWaitSec=3
Each task has an id and lists its predecessors — the tasks that must finish before it can start. Task 4 only waits for task 2, not all of the first group. Task 5 waits for 1, 3, and 4.
Timeline (optimized):
Task 1 (2s): [==]
Task 2 (5s): [=====]
Task 3 (3s): [===]
Task 4 (4s): [====] ← starts when task 2 done
Task 5 (2s): [==] ← starts when 1, 3, 4 done
Task 6 (3s): [===]
Total: ~14s
How does RushTI read task files?
Internally, RushTI converts every TXT task file into JSON before executing. JSON is the native format — TXT is a convenience layer on top. See Task File Basics for more on JSON task files.
Step 4: Validate and Visualize¶
Before running on a production server, validate your task file:
Validation Result: VALID
========================================
Info (3):
- Source: File (my-tasks-opt.txt)
- Total tasks: 6
- Validation passed
Generate an interactive DAG visualization:
Open dag.html in your browser to see the dependency graph:
Tip
Remove --skip-tm1-check to also verify that each TI process exists on the TM1 server.
Step 5: Save Results (Optional)¶
Export execution results to a CSV file:
What's Next?¶
-
Task File Basics
Learn about TM1 cube-based task files, JSON format, and when to use each approach.
-
DAG Execution
Understand how RushTI schedules tasks based on dependencies — and why DAG is faster than levels.
-
Self-Optimization
RushTI learns from each run to reorder tasks for better parallelization.
-
TM1 Integration
Read task definitions from and write results to TM1 cubes.