using System.Threading.Tasks.Schedulers;

namespace BBWY.Server.Business
{
    public class TaskSchedulerManager
    {
        public LimitedConcurrencyLevelTaskScheduler SyncOrderTaskScheduler { get; private set; }

        public LimitedConcurrencyLevelTaskScheduler ProductSyncTaskScheduler { get; private set; }

        public LimitedConcurrencyLevelTaskScheduler SyncRefundOrderTaskScheduler { get; private set; }

        public LimitedConcurrencyLevelTaskScheduler SyncAfterOrderTaskScheduler { get; private set; }

        public LimitedConcurrencyLevelTaskScheduler PurchaseOrderCallbackTaskScheduler { get; private set; }

        public LimitedConcurrencyLevelTaskScheduler JDPopularizeTaskScheduler { get; private set; }

        public TaskSchedulerManager()
        {
            SyncOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
            SyncRefundOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
            SyncAfterOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
            PurchaseOrderCallbackTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
            ProductSyncTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(5);
            JDPopularizeTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
        }
    }
}