Exemple #1
0
 public void Enqueue(string queue, string jobId)
 {
     _database.JobQueue.InsertOne(new JobQueueDto
     {
         JobId = ObjectId.Parse(jobId),
         Queue = queue
     });
     _signal.Set($@"JobQueue.{queue}");
 }
Exemple #2
0
        /// <summary>
        /// Release the lock
        /// </summary>
        /// <exception cref="MongoDistributedLockException">Thrown if releasing the lock fails</exception>
        private void Release()
        {
            try
            {
                // Remove resource lock
                _database.DistributedLock.DeleteOne(
                    Builders <DistributedLockDto> .Filter.Eq(_ => _.Resource, _resource));

                _signal.Set($@"{nameof(MongoDistributedLock)}.{_resource}");
            }
            catch (Exception ex)
            {
                throw new MongoDistributedLockException($"Could not release a lock on the resource \'{_resource}\': Check inner exception for details.", ex);
            }
        }