2010-06-26 7 views
0

Actuellement, lorsque nous mettons à jour notre code PHP pour notre site Web, nous avons un script qui appelle apc_clear_cache sur tous les serveurs, de sorte que le nouveau code sera utilisé.Effacement des caches APC sans écraser nos scripts

Nous avons également des scripts PHP qui s'exécutent en arrière-plan sur un serveur séparé, traitant des requêtes plus lentes, etc. Le même script qui appelle apc_clear_cache notifie également les scripts de quitter lorsqu'ils atteignent un point d'arrêt raisonnable. Le problème est que apc_clear_cache prend effet immédiatement, et certains des scripts qui ne sont pas à un point d'arrêt vont se bloquer de manière reproductible.

Est-ce que quelqu'un connaît un moyen de contourner ce problème en dehors de l'arrêt de tous ces scripts (au moment opportun), ALORS d'appeler apc_clear_cache, puis de les redémarrer tous?

+0

Si vous pouvez obtenir une trace de pile, il peut être utile de déposer un bogue sur APC. – Charles

+0

Il s'est avéré que j'étais stupide - pour notre serveur séparé exécutant seulement des manuscrits, il n'y avait aucune raison d'avoir la mise en cache APC du tout. Je l'ai éteint pour ce serveur - problème résolu. – Karptonite

Répondre

1
  1. Dites aux scripts de s'arrêter.
  2. Effacer le cache APC.
  3. Dites aux scripts de démarrer.