0

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

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

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

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

谢谢您的帮助!

4

1 回答 1

1

命令不是这样工作的。根据http://symfony.com/doc/current/cookbook/console/console_command.html#register-commands-in-the-service-container上的注释

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

如果你想调用一个命令: http ://symfony.com/doc/current/components/console/introduction.html#calling-an-existing-command

话虽这么说,您不应该从控制器中调用命令,因为您基本上要求在返回响应之前等待该命令完成执行。您最好将请求发送到队列框(例如 beanstalk)并让工作人员执行这项工作。

于 2014-02-20T19:19:47.640 回答