Gc

Type
Class
Namespace
craft\services
Inherits
craft\services\Gc » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
3.1.0

Garbage Collection service.

An instance of the service is available via Craft::$app->gc.

View source (opens new window)

# Public Properties

Property Description
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component.
deleteAllTrashed boolean (opens new window) – Whether hardDelete() should delete all soft-deleted rows, rather than just the ones that were deleted long enough ago to be ready for hard-deletion per the config3:softDeleteDuration (opens new window) config setting.
probability integer (opens new window) – The probability (parts per million) that garbage collection (GC) should be performed on a request.

# deleteAllTrashed

Type
boolean (opens new window)
Default value
false

Whether hardDelete() should delete all soft-deleted rows, rather than just the ones that were deleted long enough ago to be ready for hard-deletion per the config3:softDeleteDuration (opens new window) config setting.

View source (opens new window)

# probability

Type
integer (opens new window)
Default value
10

The probability (parts per million) that garbage collection (GC) should be performed on a request. Defaults to 10, meaning 0.001% chance.

This number should be between 0 and 1000000. A value 0 means no GC will be performed at all unless forced.

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
deletePartialElements() Deletes elements that are missing data in the given element extension table.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
hardDelete() Hard-deletes any rows in the given table(s), that are due for it.
hardDeleteVolumes() Hard delete eligible volumes, deleting the folders one by one to avoid nested dependency errors.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() (opens new window) Initializes the object.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
removeEmptyTempFolders() Removes any temp upload folders with no assets in them.
run() Possibly runs garbage collection.
trigger() (opens new window) Triggers an event.

# deletePartialElements()

Since
3.6.6

Deletes elements that are missing data in the given element extension table.

View source (opens new window)

Arguments

# hardDelete()

Hard-deletes any rows in the given table(s), that are due for it.

View source (opens new window)

Arguments

# hardDeleteVolumes()

Hard delete eligible volumes, deleting the folders one by one to avoid nested dependency errors.

View source (opens new window)

# removeEmptyTempFolders()

Since
3.7.53

Removes any temp upload folders with no assets in them.

View source (opens new window)

# run()

Possibly runs garbage collection.

View source (opens new window)

Arguments

  • $force (boolean (opens new window)) – Whether garbage collection should be forced. If left as false, then garbage collection will only run if a random condition passes, factoring in probability.

# Protected Methods

Method Description
getHardDeleteConditions()

# getHardDeleteConditions()

View source (opens new window)

Arguments

Returns

array (opens new window)

# Events

# EVENT_RUN

Type
craft\services\Event

The event that is triggered when running garbage collection.