Thesis Details
Asynchronous Task Processing in PCS Project
The PCS project is a distributed application; therefore, many actions need a way to launch actions in remote application instances. The goal of this thesis is to implement a minimum viable solution for executing actions through a REST API that uses the asynchronous programming model. However, actions themselves are not implemented asynchronously and cannot be invoked directly from asynchronous code. The REST API is connected to an asynchronous scheduler that circumvents this limitation by launching actions in a process pool. The scheduler hides actions behind an abstraction layer of tasks that store information about their status and results. All the actions need to send real-time updates to the clients. This is made possible via a one-way communication channel from the actions to the scheduler that updates the tasks. The REST API provides methods for creating, getting results, and killing tasks. Clients can periodically check the task status and show these updates to the user. Clients can also choose to kill tasks that take too long to finish.
cluster, high-availability cluster, PCS, Pacemaker/Corosync Configuration System, asynchronous programming, AsyncIO, REST, REST API, Tornado
Burget Lukáš, doc. Ing., Ph.D. (DCGM FIT BUT), člen
Honzík Jan M., prof. Ing., CSc. (DIFS FIT BUT), člen
Mrázek Vojtěch, Ing., Ph.D. (DCSY FIT BUT), člen
Rozman Jaroslav, Ing., Ph.D. (DITS FIT BUT), člen
@bachelorsthesis{FITBT25192, author = "Michal Posp\'{i}\v{s}il", type = "Bachelor's thesis", title = "Asynchronous Task Processing in PCS Project", school = "Brno University of Technology, Faculty of Information Technology", year = 2022, location = "Brno, CZ", language = "english", url = "https://www.fit.vut.cz/study/thesis/25192/" }