Go language process engine go-activiti
Project portal go-activiti
Refer to Activiti to achieve some functions. The project is still being improved, activiti fans are welcome to join, isn't Go language good?
Existing capacity
- Node type, support user approval node, exclusive gateway, inclusive gateway, parallel gateway
- Process function, support process deployment, process initiation, process approval
- Support historical data backtracking
- Global affairs
- Global event monitoring, now supports node event processing
For BPMN file parsing, the JSON library is used first, which is easy to use, but there are flaws and does not support the expansion of the subsequent process .
Global affairs, refer to the activiti design pattern, rely on the command mode and the chain of responsibility mode, use the transaction capabilities of gorm, and do not need to pay attention to the transaction.
defer db.ClearTXDB()
db.GORM_DB.Transaction(func(tx *gorm.DB) error {
db.InitTXDB(tx)
value, err = transactionContextInterceptor.Next.Execute(command)
return err
})
Follow-up plan:
- Support more node types
- bpmn analysis is perfect and scalable
- Process capability support: process jump, rejection, etc.
- Complete monitoring of events
- Database default value processing
- Project structure adjustment
We look forward to your joining.