Symfony2在供应商的控制器中调用控制台命令

时间:2014-02-20 18:32:23

标签: symfony service console command vendor

我想在我的控制器中使用此捆绑包中的控制台命令:http://knpbundles.com/dizda/CloudBackupBundle

开发人员建议使用cronjobs,但我想使用该命令从我的控制器中备份我的数据库。

我该怎么做? 当我只是尝试将此命令注册为服务时,我收到此错误消息:

You have requested a non-existent service "backupcommandservice". 

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

命令不太适用。根据{{​​3}}

的说明

将命令注册为服务除了控制位置和依赖注入之外没有太多作用。

如果要调用命令:http://symfony.com/doc/current/cookbook/console/console_command.html#register-commands-in-the-service-container

据说你不应该从控制器内调用命令,因为你基本上要求在返回响应之前等待这个命令完成执行。您最好只是向队列框发送请求(例如beanstalk)并让工作人员执行该作业。