What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Would it be a nice feature in the state machine to have pre and post (condition) commands?

2»

Comments

  • UKU1E0ENB
    UKU1E0ENB Posts: 34 🧑🏻‍🚀 - Cadet

    The problem is the “undefined state” between two commands. This was a real problem in some early projects.

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet

    but i'm not saying one way is better than the other 🙂

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet

    yeah, if one fails then it's a problem

  • UKU1E0ENB
    UKU1E0ENB Posts: 34 🧑🏻‍🚀 - Cadet

    Agree. There are several ways to implement a SM. The one in Spryker is based on past experiences from very early projects. So there is a reason for almost every design decision.

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet

    but then again arguably the only advantage of an additional state is that you know it's broken at a certain point, but how to recover from that depends on the configuration of the state machine, and if you planned for it to fail (so how defensively you wrote the state machine)

  • UKU1E0ENB
    UKU1E0ENB Posts: 34 🧑🏻‍🚀 - Cadet

    The code of the SM is older than Spryker itself 😄

  • UKU1E0ENB
    UKU1E0ENB Posts: 34 🧑🏻‍🚀 - Cadet

    but then again arguably the only advantage of an additional state is that you know it’s broken at a certain point

    That’s the main advantage, yes.

  • UKU1E0ENB
    UKU1E0ENB Posts: 34 🧑🏻‍🚀 - Cadet

    SM can break for some very unexpected reasons (eg. when pod is restarted during deployment, remember? 😉 )

  • Denis Turkov
    Denis Turkov VP Architecture Sprykee Posts: 41 🏛 - Council (mod)

    Until there is a good solution opening an independent thread for such sub-tasks, I don’t see it in core. It could be a dangerous pitfall in inexperienced hands 💣 😬