gpt4 book ai didi

symfony - 最佳实践如何安排 symfony2 操作

转载 作者:行者123 更新时间:2023-12-03 20:09:49 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

3年前关闭。




Improve this question




我基于 symfony2 的应用程序必须在不同的时刻和不同的频率做一些独立的工作。例如,发送通讯,编辑报告......

我希望能够从应用程序添加/编辑每个任务
我的任务将非常接近 cron 作业,并且将包括调用特定的 url。

从我的角度来看 :

我考虑创建一个 cron 作业,每半小时或十分钟启动一个脚本。这个脚本只做一个 curl 命令女巫得到一个 docronjob Action 。这个 docronjobaction 位于 symfony 内部,负责获取所有任务并启动它必须执行的任务。

我的问题是:

  • 有没有更清洁的方法来实现这一目标?
  • 在 docronaction 中,我如何启动其他操作?
  • 我如何设法将整个 Controller 的时间限制设置为 0?
  • 是否已经存在执行此操作的捆绑包?
  • 最佳答案

    听起来您正在将您的任务计划存储在数据库中。没问题。对于每种不同类型的任务(例如发送新闻通讯、保存报告),创建一个服务来完成任务。然后给这个服务添加一个标签(比如 twig.extension, but your own ),这样你就有了像 TaskChain 这样的东西,它知道所有的任务。

    用于执行 create a console command ,它从数据库中检索计划,加载任务链,并执行任务。这个控制台命令可以简单地从 cronjob 中调用,而无需将其暴露给网络。实际上,您是通过 php-cli 而不是从浏览器调用此命令,标准时间限制是无限的。执行时不应涉及 Controller 。

    这应该全部组织在一个额外的 TaskBundle 中。

    关于symfony - 最佳实践如何安排 symfony2 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16518744/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com