Transactional workflow system
Problem
- To process asynchonously different types of jobs without user interaction
- To be able to decide proper paralelization without overloading servers
Solution
- Workflow system has been developed to replace existing clumsy system
- XML based configuration
- Small custom scripting language to access and transform data implemented
Features
- Ability to upload and change plugins and workflows ad-hoc
- Ability to offload heavy task to additional servers
- Multiple Job schedulers developed
- Maximal paralelization
- FIFO
- FIFO with prioritization
- Actions are started based on many events
- File put in directory
- File printed
- Timed actions
- Started via API
Advantages
- Final product reduced amount of necessary servers to process tasks from 3 to 1
- New system removed stability issues with old system
- New system introduced better configurability and maintainability - from tens of implemented actions we went to hundreds without issue