Hacker News new | ask | show | jobs
by mfateev 2051 days ago
It is not Go specific. It already supports both Go, Java and Ruby.

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.

1 comments

Clickable link: http://temporal.io/

i worked on this site btw - would be happy to receive feedback on the site, particularly if any wording was confusing or unclear!

I clicked the link and I struggle to understand what Cadence is. I found my way to the docs, and came cross reams of text bemoaning how difficult it is to describe Cadence... not helpful?

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.

Did you click on temporal.io?

It is hard to describe as it is a new way to build distributed applications that doesn't have a commonly agreed name yet.

> It is hard to describe as it is a new way to build distributed applications that doesn't have a commonly agreed name yet.

Seems to be a fairly straightforward, minimal (which can be good; that's not a criticism) workflow engine.

new ? really ? this has been around since 1995
Great, show me a single product (besides AWS SWF and Azure durable Task Framework) that has the programming model of Temporal. For example, which product allows to write production code like this that survives any process failures:

  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);
    }
  }