Exemplo n.º 1
0
 public JobEngine(JobSetting setting, IMcJobExcute <T> worker, IJobProvider provider = null, ILog log = null)
 {
     lock (GetType())
     {
         if (!_isInitlize)
         {
             provider     = provider ?? new JobProvider();
             _lockFactory = provider.GetLockFactory(setting.ZkConnectionString, setting.SystemId);
             _log         = log;
             _queue       = provider.GetQueue <T>(setting.QueueConnectionString, setting.QueueName);
             _worker      = worker;
             _cacheClient = provider.GetCacheClient(setting.RedisConnection, setting.RedisDb);
             Task.Factory.StartNew(() =>
             {
                 _queue.OnReceive(ExcuteTask);
             }, TaskCreationOptions.LongRunning).ConfigureAwait(false);
             _isInitlize = true;
         }
     }
 }
Exemplo n.º 2
0
 public ZkLock(IDistributeLockFactory factory, bool locked = false)
 {
     _factory = factory;
     Locked   = locked;
 }