public void Enqueue(string queue, string jobId) { _database.JobQueue.InsertOne(new JobQueueDto { JobId = ObjectId.Parse(jobId), Queue = queue }); _signal.Set($@"JobQueue.{queue}"); }
/// <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); } }