Help:Configuration parameter "$smwgOnDeleteAction"
|Description||Moves the update process for when a page / property and its value assignments are deleted to the job queue.|
|Default setting||See below|
|First version supported||18.104.22.168|
|Last version supported||2.3.1|
|Keyword||Performance · Job queue|
$smwgOnDeleteActionis a configuration parameter that is used to move the update process for when a page / property and its value assignments are deleted to the job queue and thus to improve it. The setting was introduced in Semantic MediaWiki 22.214.171.124. It was removed in Semantic MediaWiki 2.4.0 in favor of configuration parameter
$GLOBALS['smwgOnDeleteAction'] = array( 'smwgDeleteSubjectAsDeferredJob' => false, 'smwgDeleteSubjectWithAssociatesRefresh' => false );
The default setting represents the legacy behaviour (SMW ≤ 1.8.0) where a subject is directly deleted when "action=delete" is executed.
smwgDeleteSubjectAsDeferredJob- Defers the deletion process to a background job.
smwgDeleteSubjectWithAssociatesRefresh- Allows to refresh entities that are connected to a deleted subject.
Changing the default setting
Due to performance implications it is advisable that in case
smwgDeleteSubjectWithAssociatesRefresh is enabled the deletion process is being handled as a deferred background job with
smwgDeleteSubjectAsDeferredJob enabled, too:
$smwgOnDeleteAction = array( 'smwgDeleteSubjectAsDeferredJob' => true, 'smwgDeleteSubjectWithAssociatesRefresh' => true );
- If configuration parameter
$smwgEnableUpdateJobsDefers some tasks until after a page was edited by using the job queue.is disabled (not default) then the deletion process will always run directly even though
smwgDeleteSubjectAsDeferredJob(see above) is enabled.
- In case the deletion is executed as deferred job it is further suggested that the job queue is being run repeatedly within a narrow time frame to avoid an increased backlog.
- Task T61204 about the rationale for this parameter