ReubenBond on ReubenBond-patch-2
Update README.md (compare)
ReubenBond on ReubenBond-patch-2
Update CI NuGet feed URL (compare)
Hi,
i have a question regarding async running methods.
This is a examplecode of a GrainMethod:
public Task GrainMethod()
{
_anotherGrain = GrainFactory.GetGrain<IBasicMeasurementDevice>(guid);
_anotherGrain.AnotherGrainMethod().ContinueWith(task =>
{
//modify private members in Grain;
}, TaskContinuationOptions.OnlyOnFaulted);
}
I want to run the "AnotherGrain" Method without awaiting for it. But if there occurs a exception, I want to modifie the state of the caller grain.
Could this solution lead to race conditions?
@COCPORN
@sergeybykov Yes, it was hyperbole from me. About the buckets, perhaps I've misunderstood how they work. It looks to just be sorted on expiry time, and then I suppose any grain that has activity moves itself to another bucket based on the time to live configuration. I could take a stab at implementing my suggestion, as I think the amount of work needed to have something that is useful (or can at least be evaluated for usefulness) isn't that big.
Yes, when a grain is invoked, it gets moved to the most recent bucket, unless it's already there. If you are willing to take a stab at it, we'll be happy to help.