If you work in Go and need to work on similar problem I highly recommend: https://cadenceworkflow.io/
temporal.io our fork of Cadence will have PHP support very soon. Support for other languages is coming. Python and Typescript are the highest priority.
i worked on this site btw - would be happy to receive feedback on the site, particularly if any wording was confusing or unclear!
I get it's something related to workflows, beyond that I have no clue what problem it aims to solve or where or why I'd use it.
It is hard to describe as it is a new way to build distributed applications that doesn't have a commonly agreed name yet.
public void execute(String customerId) {
activities.sendWelcomeEmail(customerId);
try {
boolean trialPeriod = true;
while (true) {
Workflow.sleep(Duration.ofDays(30));
activities.chargeMonthlyFee(customerId);
if (trialPeriod) {
activities.sendEndOfTrialEmail(customerId);
trialPeriod = false;
} else {
activities.sendMonthlyChargeEmail(customerId);
}
}
} catch (CancellationException e) {
activities.processSubscriptionCancellation(customerId);
activities.sendSorryToSeeYouGoEmail(customerId);
}
}Seems to be a fairly straightforward, minimal (which can be good; that's not a criticism) workflow engine.