public override Task OnDeactivateAsync() { Console.WriteLine("Deactivate: " + Utils.GetReadableName(self)); processor = null; producer = null; orderingEnforcer = null; sendStrategies = null; actionQueue = null; GC.Collect(); return(Task.CompletedTask); }
public virtual async Task <SiloAddress> Init(IPrincipalGrain principalGrain, ITupleProcessor processor) { this.self = this.GrainReference.Cast <IWorkerGrain>(); Console.WriteLine("Init Start: " + Utils.GetReadableName(self)); string ext; this.GetPrimaryKey(out ext); this.orderingEnforcer = new OrderingGrainWithSequenceNumber(ext); this.principalGrain = principalGrain; this.processor = processor; await this.processor.Initialize(); Console.WriteLine("Init Finished: " + Utils.GetReadableName(self)); return(localSiloDetails.SiloAddress); }