有没有办法 运行 使用 symfony 在 apache2 启动时执行计划任务?
Is there a manner to run a scheduled task on apache2 startup with symfony?
我有一个可以添加新设备的后台。创建设备后,我需要打开一个监听TCP套接字来接收数据。
我在 Debian 9 上使用 Symfony 4,尽管我的应用程序应该可以在多个 OS 上运行,例如 Windows 或 MacOS。第一步是在创建设备时打开套接字(在控制器上),但是如果我的服务器重新启动,
您知道是否可以在应用程序启动时(例如,在 apache2 启动时)为每个配置的设备打开 TCP 套接字吗?
我能够创建一个 Symfony 命令来打开 TCP 套接字,但我不知道如何在系统启动时安排任务。
提前致谢。
创建一个获取所有设备的命令 (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();
}
要运行系统启动时的命令使用@reboot
parameter in crontab:
@reboot /home/myapp/bin/console app:mycommand
或者你可以写一个 systemd service 运行 控制台脚本
我有一个可以添加新设备的后台。创建设备后,我需要打开一个监听TCP套接字来接收数据。
我在 Debian 9 上使用 Symfony 4,尽管我的应用程序应该可以在多个 OS 上运行,例如 Windows 或 MacOS。第一步是在创建设备时打开套接字(在控制器上),但是如果我的服务器重新启动,
您知道是否可以在应用程序启动时(例如,在 apache2 启动时)为每个配置的设备打开 TCP 套接字吗?
我能够创建一个 Symfony 命令来打开 TCP 套接字,但我不知道如何在系统启动时安排任务。
提前致谢。
创建一个获取所有设备的命令 (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();
}
要运行系统启动时的命令使用@reboot
parameter in crontab:
@reboot /home/myapp/bin/console app:mycommand
或者你可以写一个 systemd service 运行 控制台脚本