private void Commit(WriteJob job)
 {
     if (job.Remove == null && job.Data != null)
     {
         using (var session = _sessionFactory.CreateWriteSession(job.CollectionId))
         {
             session.Write(job.Data, _tokenizer);
         }
     }
     else if (job.Data == null && job.Remove != null)
     {
         using (var session = _sessionFactory.CreateWriteSession(job.CollectionId))
         {
             session.Remove(job.Remove, _tokenizer);
         }
     }
     else
     {
         using (var session = _sessionFactory.CreateWriteSession(job.CollectionId))
         {
             session.Remove(job.Remove, _tokenizer);
         }
         using (var session = _sessionFactory.CreateWriteSession(job.CollectionId))
         {
             session.Write(job.Data, _tokenizer);
         }
     }
 }
コード例 #2
0
ファイル: Writer.cs プロジェクト: awesomedotnetcore/resin
        private void ExecuteWrite(WriteJob job)
        {
            try
            {
                _itemTimer.Restart();

                using (var session = _sessionFactory.CreateWriteSession(job.CollectionId))
                {
                    session.Write(job.Documents);
                }

                _log.Log(string.Format("wrote job {0} in {1}", job.Id, _itemTimer.Elapsed));
            }
            catch (Exception ex)
            {
                _log.Log(string.Format("failed to execute job {0}: {1}", job.Id, ex));

                throw;
            }
        }