예제 #1
0
        async Task <bool> IPizzaGrain.Test(IOrderGrain observer, Pizza pizza)
        {
            _logger.LogInformation($"I am a pizza grain");
            await observer.ReceiveMessage("hey");

            return(await Task.FromResult(true));
        }
예제 #2
0
        public void SetUp()
        {
            var builder = new TestClusterBuilder();

            builder.AddSiloBuilderConfigurator <TestSiloConfigurations>();
            _testCluster = builder.Build();

            _testCluster.Deploy();

            _guid       = new Guid();
            _orderGrain = _testCluster.GrainFactory.GetGrain <IOrderGrain>(_guid);
        }
예제 #3
0
    public async Task StartAsync(IOrderGrain order, SearchParameters parameters)
    {
        if (State.IsStarted)
        {
            return;
        }

        State.Order      = order;
        State.Parameters = parameters;
        State.IsStarted  = true;

        await RegisterOrUpdateReminder(ReminderName, TimeSpan.Zero, TimeSpan.FromMinutes(1));

        await _search.WriteStateAsync();

        await Console.Out.WriteLineAsync($"Value = {State.Value}");

        await RunAsync();

        _logger.LogInformation($"### Search 'RegisterOrUpdateReminder' {DateTime.Now} handled");
    }
예제 #4
0
 public Task Subscribe(IOrderGrain observer)
 {
     return(Task.CompletedTask);
 }