我有一个 symfony2(php 框架)应用程序,为此我编写了一个可以从命令行调用的命令。此命令只是检查数据库中的表中的任务,然后执行该任务。我需要的是一个类似守护进程的生物,只要将一行插入到这个(mysql)数据库表中,它就可以在后台运行这个命令。我不能用 cron 作业来做到这一点,因为所需的任务需要尽快发生,并且通常需要并行发生。
我看这一切都错了吗?
服务器:Ubuntu 11.10 PHP:5.3 Symfony:2.1 mysql:5.1.66
我假设您正在使用某种 ORM 来实现持久性。然后我可能会在Propel中使用像 postInsert() 这样的钩子
插入新对象后执行的 postInsert() 代码
或Doctrine中的 postPersist() 。
postPersist - postPersist 事件在实体被设置为 >persistent 后发生。它将在数据库插入操作之后被调用。生成的主键值在 postPersist 事件中可用。
这是有关生命周期事件的更多信息。
即使这是一个非常古老的问题......我找到了https://github.com/mac-cain13/daemonizable-command
可能对您需要做的事情有用。