private void DocumentDescriptorCleanup(DateTime checkDate) { var list = RecycleBin.Slots .Where(x => x.DeletedAt < checkDate && x.Id.StreamId.StartsWith("DocumentDescriptor_")) .Take(200) .ToArray(); foreach (var slot in list) { Logger.InfoFormat("Deleting slot {0} because it is in recyclebin and was deleted at {1}", slot.Id.StreamId, slot.DeletedAt); var blobIds = (BlobId[])slot.Data["files"]; foreach (var blobId in blobIds.Distinct()) { Logger.InfoFormat("....deleting file {0}", blobId); BlobStore.Delete(blobId); } RecycleBin.Purge(slot.Id); Logger.InfoFormat("....deleting stream {0}.{1}", slot.Id.BucketId, slot.Id.StreamId); Store.Advanced.DeleteStream(slot.Id.BucketId, slot.Id.StreamId); Logger.InfoFormat("Slot {0} deleted", slot.Id.StreamId); } }
private void DocumentCleanup(DateTime checkDate) { var list = RecycleBin.Slots .Where(x => x.DeletedAt < checkDate && x.Id.StreamId.StartsWith("Document_")) .Take(200) .ToArray(); foreach (var slot in list) { Logger.InfoFormat("Deleting slot {0} because it is in recyclebin and was deleted at {1}", slot.Id.StreamId, slot.DeletedAt); RecycleBin.Purge(slot.Id); Logger.InfoFormat("....deleting stream {0}.{1}", slot.Id.BucketId, slot.Id.StreamId); Store.Advanced.DeleteStream(slot.Id.BucketId, slot.Id.StreamId); Logger.InfoFormat("Slot {0} deleted", slot.Id.StreamId); } }