Project

General

Profile

Actions

User story #27392

open

User story #26883: Add campaign hooks in the campaign workflow engine

Refactor campaign service so that it's testable

Added by François ARMAND 3 days ago. Updated 3 days ago.

Status:
Pending technical review
Priority:
N/A
Category:
Architecture - Code maintenance
Target version:
UX impact:
Suggestion strength:
User visibility:
Effort required:
Name check:
To do
Fix check:
To do
Regression:
No

Description

Today, the MainCampaignService is a big monolithic chunk that can't be unit tested but for the whole things. This make it very, very complicated to do.

So the idea is to split the code in 3 mains parts:
- the orchestration logic, as pure as possible,
- the IO effects used to connect that logic to other components like repository,
- the runtime services : the current MainCampaignService that remain the entry point for other part of Rudder (APIs, plugins), and the queue looping.

Actions

Also available in: Atom PDF