Select chapter

7. Laiye RPA Worker

We introduced in Chapter 2 that a general RPA platform contains at least three components: development tools, operation tools, and control center. In Laiye RPA, these three components correspond to Laiye RPA Creator, Laiye RPA Worker, and Laiye RPA Commander, respectively (Figure 81).

FIGURE 81.png
Figure 81: Three components of Laiye RPA

Some of you might be wondering why we need tools beyond Laiye RPA Creator. For developing processes, Laiye RPA Creator alone is enough. For operating processes, we can also use Laiye RPA Creator execute single processes manually. If Laiye RPA can complete all RPA-related tasks, developing, debugging, deploying, and maintaining, why do we need Laiye RPA Worker and Laiye RPA Commander? In other words, what additional value can Laiye RPA Worker and Laiye RPA Commander bring?

To answer this question, we must go back to the original design of RPA, or robotic process automation. RPA is a digital employee that companies “hire” to replace human employees to complete repetitive and tedious work. However, if a company hires an employee, will they be allowed to work as they will without management? Definitely not! First, employees should be able to accept and complete tasks assigned by managers, who coordinate everyone to work towards the same goal. Second, employees from different departments and levels should be able to cooperate and coordinate their work together to complete a complex task. Third, there should be mechanisms in place to supervise and manage the employees’ work. When something goes wrong, employees need to deal with it in a timely manner. These functions cannot be provided by Laiye RPA Creator alone, and that’s where Laiye RPA Worker and Laiye RPA Commander come in.

If you are just using RPA to for your personal needs, the repetitive tasks you are automating are neither assigned to you by your superior, nor do they require you to coordinate with others, and it’s okay if you make a mistake. Therefore, you can simply use the free community version of Laiye RPA Creator. If you are automating video game interactions, we recommend you use Quick Macro to complete similar tasks. However, if you are providing RPA solutions to an enterprise, Laiye RPA Worker and Laiye RPA Commander are indispensable.

7.1 Three Working Modes

Laiye RPA Worker has three different working modes, depending on how Laiye RPA Worker, Laiye RPA Commander, and Laiye RPA Creator interact with each other. Each working mode corresponds to a different type of Laiye RPA Worker licenses: Attended (machine license), Attended (user license), and Unattended.

The first type of license is Attended (machine license). It authorizes an Laiye RPA Worker instance on a specific machine (identified by a machine code). The Worker instance can only run on that machine once the license is bound to the machine. In this case, you don't need Commander to manage multiple Workers, and multiple Worker instances cannot coordinate with each other to complete complex tasks.

However, in enterprise environments, we often need multiple Workers to coordinate with each other, and therefore a second type of license, Attended (user license), is provided. In this mode, there is a Commander instance that coordinates the entire system and assigns tasks to individual Workers, who then execute the tasks accordingly. In this mode, the user only needs to login with their username, and Workers are identified by their username (instead of their machine codes). Therefore, Worker instances are no longer bound to a specific machine, but can be deployed and organized according to the availability of computing resources.

The third type of license is Unattended. What does it mean? In the second "human-computer interaction-bind users" mode, although the task of Worker is distributed by Commander, each Worker still has a certain degree of autonomy and can manually execute processes, organize processes, and schedule processes. However, sometimes we don't need this degree of autonomy, and we expect workers to simply complete the delegated tasks of the Commander. In this case, we can use the unattended license. An unattended Worker is directly controlled by a Commander and only executes the instructions of the Commander.

7.2 Publish and Import Process

Let’s see how we can import a process from Creator to a Worker. First, we need to export the process from Creator. Here we need to use the enterprise version of Laiye RPA Creator. Open the process and click the Publish button on the toolbar. In the dialog box that pops up, fill in the process name, usage, and icon, and package the process as a .bot file. Keep in mind that typically the person executing the process is different from the person developing the process, and the person executing the process cannot and should not be able to see the implementation details of the process. Thus, the person executing can only distinguish between processes based on their names, usage, and icons. Therefore, you should fill in these fields carefully, as they are especially important when there are a large number of processes.

The second step is to import the exported .bot file into Worker. There are two ways to import. The first way is to import the file from the local computer. On the main interface of Worker, open the My Process tab, click the +Local Process button, and then select the .bot file we just exported in the dialog box that pops up. This imports a local process to Worker. Only the manned (machine license) and manned (user license) modes support local imports, but the unmanned license does not support it. The second way is to import a process online. In the main interface of Worker, open the My Process tab and click the +Online Process button. A new page will pop up listing all processes assigned to this Worker by the Commander, and the user can select a process to add to My Process. Please note that only the manned (user license) mode supports online imports.

7.3 Process Operation and Schedule Tasks

After a process is successfully imported into Worker, you can open the My Process tab and browse through all processes installed on the Worker. We can click the Run Now button to the right of a process to start running it immediately.

In addition to running a process immediately, Laiye RPA Worker also supports scheduling tasks. This allows us to schedule one-off or regular process execution in an organized manner. Worker provides four types of task scheduling: single run, by date, by week, and by month. We can customize each of these methods to specify start times, frequencies, effective and expiration dates, etc.

The manned (machine license) and manned (user license) modes support manually running and scheduling processes. Workers with the unmanned license must be scheduled through Laiye RPA Commander, but not directly through the Workers.

7.4 Process Grouping

Through the last two sections, we have learned how to import processes into Workers and how to run or schedule their execution. Then why do we need to group processes? In certain scenarios, one process might depend on the completion of another process. For example, if process B should be run only after process A has completed execution, then we can schedule process A to run on 10:00 AM and process B to run on 10:05. This seems reasonable, but an error could occur to cause process A to not complete its execution by 10:05, and process B would begin execution, not knowing that process A has not completed.

While it is technically possible for Laiye RPA to execute multiple processes on the same computer at the same time, but these processes could compete with each other when operating on the same software and result in unexpected behaviors. Therefore, we do not recommend running multiple processes at the same time. How do we solve this problem? One approach is to increase the execution time interval between process A and B. Most situations can be resolved by this approach, but it is still possible for process A to spill over to process B’s runtime. Moreover, if we set the time interval too high, then we are wasting valuable computing times of the Worker by doing nothing between the two processes. The purpose of RPA is to increase productivity. If automating tasks actually lowers work efficiency, then this defeats RPA’s primary purpose.

To solve this challenge, Laiye RPA Worker allows you to group multiple dependent processes together to execute them sequentially. Laiye RPA Worker executes the first process in the group, and it starts executing the second process only when the first process is completed, and so on. This allows us to both avoid potential conflicts and minimizes wait time between processes. In fact, you can treat a process group like any other process. You can execute a process group immediately or schedule it for the future.

7.5 Operation Logs

Worker allows users to view its operation logs. Open the Operation Record tab on the main interface of Worker to see a list of logs for each process run. You can click on the Details button associated with each record to see the logs generated by that run. If there are too many records, you can use the buttons on the bottom of the interface to navigate to earlier logs.

7.6 Settings and Extensions

Worker supports various custom settings. Open the Settings tab on the main interface of Worker. You will see a list of settings.

  • Log Directory specifies the local file directory to store the logs of each process run.

  • Record Run, when checked, causes Worker to record the screen during each process run. This allows for easy troubleshooting in the future.

  • Launch on Startup determines whether to launch Laiye RPA Worker when the computer starts up. You can also specify a process to run on computer startup.

  • Activation Code allows you change the activation code of this Worker instance and, with it, the work mode of this Worker.


Lastly, the computer Worker runs on must also install the extensions used in its processes to run them properly. Therefore, Laiye RPA Worker, like Laiye RPA Creator, has integrated the extension installation functions to help you easily install Chrome, Firefox, and Java extensions.