-
Notifications
You must be signed in to change notification settings - Fork 16
Description
This issue should be start after issues #521, #522, and #523 are all completed.
The current cliboa process roughly proceeds as follows:
ScenarioRunnercallsScenarioManager.ScenarioManagerstores scenario information inScenarioQueueas if it were a global variable.ScenarioRunnercallsScenarioWorker.ScenarioWorkerget and processes the scenario information fromScenarioQueue.
I believe these four classes( ScenarioRunner, ScenarioManager, ScenarioWorker, and ScenarioQueue ) should be consolidated into ScenarioManager, and the other three should be removed.
Currently, the roles of the three classes—Runner, Manager, and Worker—are ambiguous, and I believe they are partially sharing the same responsibilities.
Furthermore, Manager doesn't fulfill the role its name implies; it has become a class that simply calls Parser, acting merely as a loader and not managing anything. Therefore, this responsibility should be transferred to Parser and a dataclass. A new Loader class could be created if necessary.
The ScenarioQueue is being used like a global variable, but it naturally follows that it should be integrated along with the three aforementioned classes.
Considering the roles, I think 'Manager' is the appropriate name for the unified class.
Given that it is the de facto entrypoint called directly from cliboa.interface.run and that the unified class will call many other classes, Manager seems more suitable than Worker or Runner.
By consolidating these classes, I believe the overall processing flow of cliboa will become much easier to understand.
This is part of the v3.0 major version upgrade plan and belongs to the v3.0 milestone.
All changes will be merged into the v3.0 branch instead of master, and v3.0 branch will be merged into master at the time of the release.