AlesRuzicka.eu

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