web-dev-qa-db-fra.com

Comment effacer automatiquement le cache de formulaire?

Je travaille sur un site Drupal 7. Lorsque je vérifie le cache_form table il atteint 4 Go par jour donc je dois manuellement truncate le cache_form table. Existe-t-il un moyen d'effacer cache_form table automatiquement 4 fois par jour?

4
drupal

Il existe plusieurs méthodes pour effacer automatiquement le cache_form.

Utilisez le module optimiséb

Il existe un problème bien connu avec la table cache_form à croissance rapide. Cette table stocke Drupal cache de formulaire et elle n'est pas effacée lorsque vous videz tout le cache ou exécutez cron. Vous pouvez également rencontrer des problèmes de fragmentation avec les tables InnoDB lors d'opérations de suppression/insertion actives. Ce module fournir des fonctionnalités pour résoudre ce problème. Il fournit également des outils supplémentaires pour la base de données de maintenance.

Le module OptimizeDB offre de telles fonctionnalités:

Ability to clean **cache_from** in administrative page or do it by cron.
Ability to optimize all database’s tables and display its sizes.
Configuration of notification about necessity to perform maintenance tasks.
Perform check and repair operation with tables.
Prevent crashing tables when perform all maintained actions.

Si vous disposez d'un accès drush Safe cache_form Clear module

Supprimez en toute sécurité un nombre limité d'éléments de la table cache_form.

Ce module fournit une commande drush drush safe-cache-form-clear qui peut être exécutée à une fréquence élevée, en maintenant la table à une taille raisonnable. Il nécessite que vous utilisiez le back-end de cache de base de données pour la table cache_form.

Le cron principal de Drupal peut avoir des problèmes pour vider la table cache_form quand elle devient extrêmement grande. Ce module contourne ce problème en limitant le nombre d'éléments expirés du cache en une seule exécution, en traitant à chaque fois un bloc gérable.

Vous pouvez configurer le nombre d'éléments supprimés en une seule exécution en définissant la variable persistante $ conf ['safe_cache_form_clear_limit'].

pour effacer automatiquement le module Drupal use Cleaner (ce n'est pas clair la table cache_form).

Le module Cleaner permet à l'administrateur de définir un calendrier pour effacer les caches, le chien de garde et les anciennes sessions.

et une autre solution consiste à créer une route personnalisée dans votre module quelque chose qui n'est pas prévisible par d'autres (une URL de hachage), lors de la fonction de rappel tronquer la table 'cache_form' (ou équivalent Drupal) puis sur votre serveur ou votre Cpanel créez un crontab , planifiez-le pour exécuter le code périodiquement.

3
Yusef