Symfony 3项目中的Crons / Jobs

时间:2017-05-17 16:27:50

标签: php symfony cron

我的项目的一个特点是以两种方式同步两个数据库之间的数据。

  • 来自界面。 (用户单击按钮开始同步)
  • 自动从cron脚本开始。

我在指定的Controller中添加了一个新动作'synchronizeAction',我管理了路径和视图,并且它工作正常。 问题在于cron:

  1. 我应该在哪个位置放置我的cron脚本?
  2. 如何使用我在cron中的Controller中创建的'synchronizeAction'方法?
  3. 我创建了一个服务并使用它。

    NA

    我创建了Services / SynchroClient.php

    <?xml version="1.0" ?>
    <container xmlns="...">
        <services>
            <service id="soc_ref.synchro_clients" class="SocRefBundle\Services    \SynchroClient">    
            </service>
        </services>
    </container>
    

    如何使用/注入entityManager? $这 - &GT; getDoctrine() - &GT; getManager();只能在控制器中访问。

    我刚刚开始symfony开发,谢谢你帮助我:)。

1 个答案:

答案 0 :(得分:3)

如果我必须这样做,首先我会将业务逻辑移到服务上。创建命令并从控制器和命令调用服务功能。然后配置cron以调用创建的命令。