brettt89/silverstripe-garbage-collector

SilverStripe 垃圾回收模块

2.0.1 2024-09-13 02:30 UTC

This package is auto-updated.

Last update: 2024-09-16 22:08:23 UTC


README

PHPUnit codecov

概述

SilverStripe 应用程序中定义和处理的垃圾回收模块。

安装

composer require brettt89/silverstripe-garbage-collector

基本用法

以下示例展示了如何为您的应用程序启用和配置 VersionedCollector 和 ChangeSetCollector。

---
Name: GarbageCollectors
---
SilverStripe\GarbageCollector\Collectors\VersionedCollector:
  # Increase Versioned keep limit to 10 records
  keep_limit: 10
  # Define base classes to collect versions for
  base_classes:
    - SilverStripe\CMS\Model\SiteTree

SilverStripe\GarbageCollector\Collectors\ChangeSetCollector:
  # Reduce Changeset Lifetime to 10 days
  deletion_lifetime: 10

# Register collectors with service
SilverStripe\GarbageCollector\GarbageCollectorService:
  collectors:
    - 'SilverStripe\GarbageCollector\Collectors\VersionedCollector'
    - 'SilverStripe\GarbageCollector\Collectors\ChangeSetCollector'

#Queue a RecurringAllGarbageCollectorJob if there isn't one already. It will then re-queue itself to run once a day.
Symbiote\QueuedJobs\DataObjects\QueuedJobDescriptor:
  extensions:
    - 'SilverStripe\GarbageCollector\Extensions\QueuedJobDescriptorExtension'

示例设置将在运行开发构建后每天运行所有垃圾回收器。它通过调用 GarbageCollectorService::inst()->process(); 来实现。

您也可以决定用其他进程(带有 Crontab 的 BuildTask 调用 GarbageCollectorService::inst()->process();)来执行此操作。

文档

垃圾回收基于移除/处理可能没有本地垃圾回收的记录和项目的想法。这应该可以扩展到与任何类型的数据集一起工作,只要存在相应的处理器。

组件

指南

报告问题

创建一个问题,报告您找到的任何错误或缺少的功能。

许可

本模块遵循 MIT 许可证

鸣谢

本项目的实现得益于围绕它的社区,特别是本文件中列出的杰出人士和项目。

贡献者