Hooks
Rudel ejecuta acciones y filtros WordPress en torno a los eventos del ciclo de vida de los entornos aislados. El catálogo siguiente es lo que devuelve Rudel::hooks(): 28 acciones y 5 filtros.
Ejemplo
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
La mayoría de las acciones de before y failed reciben una matriz $context. En los hooks del ciclo de vida de los entornos aislados contiene el environment (o el name, options y environments_dir al crear); las acciones failed también reciben la Throwable capturada como $error.
Acciones del ciclo de vida del entorno aislado
| Acción | Argumentos |
|---|---|
rudel_before_environment_create |
$context |
rudel_after_environment_create |
$environment, $context |
rudel_environment_create_failed |
$context, $error |
rudel_before_environment_update |
$context |
rudel_after_environment_update |
$environment, $context |
rudel_environment_update_failed |
$context, $error |
rudel_before_environment_destroy |
$context |
rudel_after_environment_destroy |
$context |
rudel_environment_destroy_failed |
$context, $error |
rudel_before_environment_replace_state |
$context |
rudel_after_environment_replace_state |
$result, $context |
rudel_environment_replace_state_failed |
$context, $error |
Las tres acciones replace_state pertenecen a EnvironmentManager::replace_environment_state(), que no se invoca mediante ningún comando Rudel.
Acciones de instantánea
| Acción | Argumentos |
|---|---|
rudel_before_recovery_point_create |
$context |
rudel_after_recovery_point_create |
$context, $meta |
rudel_before_recovery_point_restore |
$context |
rudel_after_recovery_point_restore |
$context |
rudel_before_recovery_point_delete |
$context |
rudel_after_recovery_point_delete |
$context |
$context contiene environment, kind (snapshot), name y path. Cada una también se ejecuta con un alias snapshot, por ejemplo rudel_after_snapshot_create, y los fallos ejecutan rudel_failed_recovery_point_{create|restore|delete} y rudel_failed_snapshot_{create|restore|delete} con $context y el error. Esos alias no aparecen en el catálogo.
Acciones de limpieza
| Acción | Argumentos |
|---|---|
rudel_before_environment_cleanup |
$options |
rudel_after_environment_cleanup |
$result, $options |
rudel_before_environment_cleanup_merged |
$options |
rudel_after_environment_cleanup_merged |
$result, $options |
$result contiene removed, skipped, errors y reasons.
Acciones de envío Git
| Acción | Argumentos |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Se ejecutan para Rudel::push(). $context contiene environment, remote, message y subdir. El comando wp rudel push envía directamente y no las ejecuta.
Acciones de automatización
| Acción | Argumentos |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config es la matriz completa de rudel_config. Consulte Automatización.
Filtros
| Filtro | Argumentos |
|---|---|
rudel_environment_create_options |
$options, $name, $manager |
rudel_environment_clone_source |
$clone_source, $host_url, $db_cloned, $themes_cloned, $plugins_cloned, $uploads_cloned, $extra |
rudel_environment_cleanup_options |
$options, $repository |
rudel_environment_cleanup_merged_options |
$options, $repository |
rudel_environment_db_dropin_contents |
$contents, $context |
rudel_environment_create_options puede cambiar las opciones de cualquier llamada de creación antes de que Rudel actúe sobre ellas. rudel_environment_clone_source filtra los metadatos de clonación guardados en un entorno aislado creado a partir del host. rudel_environment_db_dropin_contents solo se aplica al complemento db.php que usan los entornos multisitio con subsitios; los entornos aislados con superposición, el único tipo que crean las versiones actuales, nunca lo generan.
Los filtros están pensados para ajustar la política, no para sustituir el modelo de almacenamiento de Rudel. La identidad en tiempo de ejecución, los prefijos de tablas y los metadatos de áreas de trabajo siguen siendo estados Rudel respaldados por la base de datos.