是否有一种方式可以使用Symfony在Apache2启动上运行计划的任务



我有一个退缩,可以添加新设备。创建设备时,我需要打开一个侦听TCP插座以接收数据。

我在Debian 9上使用Symfony 4,尽管我的应用程序应该在Windows或MacOS等多个OS上使用。第一步是在创建设备(在控制器上(时打开套接字,但是如果重新启动我的服务器,

您知道是否可以为启动应用程序时配置的每个设备打开TCP套接字(例如,在Apache2启动上(?

我能够创建一个Symfony命令来打开TCP插座,但我不知道如何安排系统启动上的TAKS。

预先感谢您。

创建一个命令(bin/console make:command(,该命令获取所有设备

$deviceRepository->findAll()

在设备上的一个foreach周期中运行打开TCP插座的代码。

foreach ($devices as $device) {
    //you need to write this method in your entity or better in a service
    $device->openTCPSocket();
}

在系统启动上运行命令,使用crontab中的 @reboot参数:

@reboot /home/myapp/bin/console app:mycommand 

或者您可以编写运行控制台脚本的SystemD服务

最新更新