Being able to run processes in parallel is one of the most powerful features of IBM TM1 and Planning Analytics. Instead of loading one year of data with one process, you could run in parallel one process per month which will significantly speed up your loading time!
Run processes in parallel with TM1RunTI
Running processes in parallel is quite common now in IBM TM1 and Planning Analytics applications. The most common way to do it is to use TM1RunTI. TM1RunTI is an exe file located in the TM1 bin installation folder. With a simple command line you can run multiple processes in parallel:
Manage running processes with Hustle
Hustle was created to manage the threads and ensure you do not exceed the number of available threads on the server. Hustle uses TM1RunTI, therefore it has the same limitation — for each thread, it needs to connect to TM1 first. In certain applications, TM1 developers had to set up one different user per thread to avoid locking.
Run processes in parallel with only one connection
To avoid this situation, RushTI was created. RushTI does the same as Hustle except that it connects to TM1 only once at the beginning and then reuses the same connection to run all threads.
Prerequisites
TM1 10.2 FP5 as minimum
TM1py v1.0.3 as minimum
1. Install Python
RushTI is a Python script. Steps to install Python can be found in the TM1py getting started guide.
2. Install TM1py
Open a command prompt and type: pip install TM1py
3. Download RushTI folder
RushTI is open-source and can be downloaded from its GitHub page.
4. Update config file
In the config file, add your TM1 instance information:
WARNING: The password needs to be encoded in Base 64.
5. Update tasks.txt
The file tasks.txt contains the list of all processes to execute:
You can run processes from different TM1 instances by changing the instance parameter.
6. Run RushTI from command line
The last parameter (4) is the number of threads RushTI will run simultaneously.
Run RushTI from a TM1 process
Use the ExecuteCommand function in the Prolog or Epilog tab:
The second parameter is 1 to wait for the command to finish, or 0 to terminate immediately.
Troubleshoot RushTI
Check the RushTI.log file in the same folder as RushTI.py. The most common errors are: connectivity issues with the TM1 instance (check config.ini), TM1py version should be v1.0.3 minimum, or incorrect TM1 process parameters.