2014-11-20 7 views
0

У меня есть две отдельные команды консоли в Symfony, которые запускаются как задания cron. Однако, когда эти команды запускаются одновременно, оба они хотят очистить/обновить кэш-память dev, и это приведет к тому, что одна команда или другая ошибка с фатальной ошибкой PHP «Невозможно переопределить класс и т. Д. И т. Д.».Выполнение двух команд Symfony в то же время

Помимо того, что эти две команды выполняются в разное время, и каждый из них очищает кеш-память до их запуска, есть ли способ предотвратить конфликты, подобные этому в командах консоли Symfony?

FWIW, мы пытались заставить среду подталкивать, но она по-прежнему кажется, хочет использовать кэш Dev (так что это может в конечном итоге другой вопрос в целом):

$ sudo php /var/www/prod/app/console console-command --env=prod orgs --report --do-sync --welcome 
PHP Fatal error: Cannot redeclare class Monolog\Handler\FingersCrossedHandler in /var/www/prod/app/cache/dev/classes.php on line 3704 

Edit: оказывается что некоторые из наших кодов явно определяли среду dev, полностью игнорируя опции CLI. Извиняюсь.

+0

Не могли бы вы отделить команду & & например, app/console router: debug & app/console router: debug –

+0

Теоретически мы можем: проблема в том, что проблема заключается в том, что они представляют собой несвязанные команды, которые оба запускаются через консоль Symfony, иногда в то же время, но в других случаях нет ... – Narcissus

ответ

0

Не могли бы вы попробовать использовать что-то вроде Makefile

как: сделать командной один макияж командной два

командной один: приложение/консоль Foo

командной два: приложение/консольная панель

После этого вы можете сделать

сделать как

или

командной один макияж

или

команда-два делают