两个 Worker Service,一个用于写操作,另一个用于读操作 .Net core worker services

Two Worker Service, one for write operation another for read operation .Net core worker services

.Net core Worker服务模板如下图

  public class Worker : BackgroundService
    {
        public Worker(ILogger<Worker> logger)
        {
            _logger = logger;
        }

        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {            
                _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
                 await Task.Delay(10000, stoppingToken);
            }
        }
    }

这是 .net core worker 服务代码。它每 10000 毫秒循环写入一次日志。
我的问题:每 10000 毫秒后,如何使用此辅助服务调用另一个辅助服务。

How to call another worker service using this worker service.

我的第一个问题是“你为什么要这样做?”这非常不寻常。

但是如果你真的想要,那么你可以添加一个内存队列(例如,Channel<T>)包装器作为一个单例并将其注入到两个工作线程中。然后一个工人可以消费通道,另一个工人可以生产到它。