3 ms·
Does temporal have ability to handle new input? For example someone did chargeback while my delivery workflow is running. Do I have to add guards everywhere for
by machiaweliczny 5y ago
Does temporal have ability to handle new input? For example someone did chargeback while my delivery workflow is running. Do I have to add guards everywhere for this?
With event based system I would just set order=canceled and then for example cron to deliver stuff via email would not pick it up.
- swyx 5y agoyeah use signals https://docs.temporal.io/docs/typescript/workflows#signals-and-queries https://docs.temporal.io/docs/typescript/workflows#signals-a... example usage in a billing workflow https://docs.temporal.io/docs/typescript/subscription-tutorial https://docs.temporal.io/docs/typescript/subscription-tutori...
- machiaweliczny 5y agoThanks. I guess I could have activity to set user.hasAccess=false when I get cancel signal. I wonder how such long running workflows can be updated due to business requirements change. Say we now want to have longer trial period (so something that is not externalized via activity, like email wording for example).
- swyx 5y agoyeah, use versioning! https://docs.temporal.io/docs/typescript/patching https://docs.temporal.io/docs/typescript/patching its not the simplest thing to do, and we have plans to make it simpler, but patching long running work while it is still running is inherently tricky. the good news is that at least we have a versioning story (and the failure mode is stopped progress) rather than handrolled systems which basically have “deploy and pray” strategies