0

我正在开发一个调度程序类,用于在定义的周期内从某些连接的设备中获取数据。由于我是通过 PHP CLI 启动调度程序(调度程序是为无限运行时设计的),我想让调度程序类可管理,例如我想检查状态并停止当前调度程序。例程如下所示:while($this->run){ do some fancy fetching stuff here}

我想更改调度程序类的这个实例的 var run,所以是否可以将该实例存储在文件或类似的东西中,这样我就可以将它传递给管理器类?

4

1 回答 1

0

只是一些想法:

  • 简单的文件:当您启动调度程序时,它会生成一个唯一的 id (GUID/UUID),例如使用uniqid,并在标准输出上显示它,例如“123456a1b2c3”,以便外部进程可以识别它。然后调度程序写入一个名为“123456a1b2c3.out”的文件,所有监控信息:心跳,任务数......并从另一个文件“123456a1b2c3.in”中读取,一些指令:“停止”,“重启” “……

  • 更多涉及但更强大的数据库:如果您已经拥有一个数据库并且需要以分布式方式管理调度程序,则不要使用文件系统,使用MySQL之类的数据库,如果只有一台机器,则使用 SQLite(尽管您也可以将它与分布式 FS 一起使用),并且您不需要完整的数据库来满足这样的基本要求。

于 2013-06-13T13:14:45.303 回答