Questions tagged [automatonymous]

Automatonymous is a free, open-source state machine library for .NET.

Automatonymous is a free, open-source state machine library for the Microsoft .NET framework. It can be used standalone, or with MassTransit for building event-driven state machines.

It is hosted on GitHub and is available for installation using NuGet.

The documentation can be found on the MassTransit Web Site.

75 questions
2
votes
1 answer

How to configure EF Core persistence in MassTransit and Automatonymous?

I am trying to configure Automatonymous worker implementation with EF Core as persistence. I publish event via api and process it in hosted service using RabbitMq as a transport. Unfortunately database does not store state of machine. I applied…
2
votes
1 answer

How to persist Saga instances using storage engines and avoid race condition

I tried persisting Saga Instances using RedisSagaRepository; I wanted to run Saga in load balancing setup, so I cannot use InMemorySagaRepository. However, after I switched, I noticed that some of the events published by Consumers were not getting…
Wit B
  • 53
  • 1
  • 5
2
votes
2 answers

How to properly setup activities in a Masstransit statemachine saga?

I've been fighting a lot with this problem for a couple of days, but cannot find a way that actually works. My scenario is that I have a state machine saga where I want to do stuff in the same transaction (Entity Framework) as the saga is running…
Anttu
  • 1,076
  • 1
  • 10
  • 21
2
votes
2 answers

Azure Service Bus - MessageLockLostException when app is in Docker container, works fine otherwise

We have a .NET Core console app that serves the role of a Saga/Process manager. This Saga app communicates with other microservices via Azure Service Bus (with the use of MassTransit for messaging abstraction - MassTransit.Azure.ServiceBus) The app…
2
votes
1 answer

How to successfully drive a MassTransitStateMachine via the InMemoryTestHarness?

Following up to: How to write MassTransitStateMachine unit tests? Here's a simple test class (using MS Test) for a simple state machine called ProcedureStateMachine (note: this is not a real production state machine for us... just an experiment I'd…
Tyler Austen
  • 120
  • 9
2
votes
1 answer

Masstransit State Machine - Retry Mechanism

In case a message is being "retried" as a result of an exception, is it being returned physically to the queue? to the beginning? to the end? Is it re-processed after the existed messages in queue? Is it being kept in application memory? I have not…
1
vote
0 answers

How to test that a message was ignored by a MassTransit state machine?

I'm developing an application in C# using MassTransit's saga state machine feature, and I'm trying to write unit tests (NUnit) for my saga to assert that certain events are ignored in certain states. My approach so far has been to put the saga in…
Arvid Inge
  • 11
  • 2
1
vote
1 answer

Parallelism with MassTransit saga and compensation

I have some queries since I am new to the MassTransit saga. Queries: Is it feasible to introduce parallelism with MassTransit saga? If so what is the proper way? If so what about the compensation mechanism? Scenario: Let's take an example of food…
akash
  • 727
  • 5
  • 13
1
vote
1 answer

Composite event is not triggered in MassTransit

My problem that Composite Event isn't not triggered when I got all the required events (in my case LinkContract, LinkCustomer). And there is a strange thing - when I send LinkContract event, value of ProcessingStatus became 1 and then when I got the…
1
vote
1 answer

Automatonymous StateMachine how to handle NotAcceptedStateMachineException

Is there any way to handle NotAcceptedStateMachineException in generic way e.g. return to client some user friendly message in request-response approach? Automatonymous.NotAcceptedStateMachineException:…
1
vote
1 answer

Registering a MassTransit SagaStateMachine with RedisRepository in SimpleInjector - Multiple Constructors

I am able to register a MassTranst SagaStateMachine in a SimpleInjector container using the InMemoryRepository: container.AddMassTransit(cfg => { // Unrelated registration code ommitted // ... …
ASP.Tom
  • 11
  • 4
1
vote
2 answers

Skip a Mass Transit state in an if-else clause

I am trying to make a state machine that should send an email if my action ends with an OK status OR it should repeat the action at least n-times until it ends with an OK status. If the n-times threshold is exceeded, the state machine should just do…
Daniel
  • 91
  • 1
  • 14
1
vote
1 answer

Automatonymous - Payload not found when calling RaiseEvent with Send Activity

I've been spinning my wheels trying to get the MassTransitStateMachine working and I seem to not understand exactly how this is supposed to work. The error I'm receiving (full code below) is PayloadNotFoundException when I attempt to call…
DoubleTK
  • 183
  • 1
  • 1
  • 8
1
vote
2 answers

Testing a MassTransit saga with scheduled events

Trying to follow the example on how to test a Saga that uses DI (https://masstransit-project.com/usage/testing.html#testing-using-dependency-injection) var provider = new ServiceCollection() .AddMassTransitInMemoryTestHarness(cfg => { …
Joel
  • 8,502
  • 11
  • 66
  • 115
1
vote
1 answer

Need StateMachine's Activity examples

I'm learning MassTransit's StateMachine, it's helpful in my usecase, really like it, now I would like to learn more about how to use Activity properly but it's hard to find document/examples, please help me with some questions: What do Probe and…
kvuong
  • 485
  • 3
  • 20