Я слоняюсь с демонами и удивляюсь, насколько это возможно (с точки зрения использования памяти и процессора, а также надежности), чтобы сделать это с помощью PHP:
<?php
// Ignore user aborts and allow the script
// to run forever
ignore_user_abort(true);
set_time_limit(0);
$fp = fopen('loop.log', 'w');
fwrite($fp, date('Y-m-d H:i:s') . ' Started' . PHP_EOL);
while(1) {
fwrite($fp, date('Y-m-d H:i:s') . ' Looped' . PHP_EOL);
if (file_exists('loop.stop')) {
break;
}
// Sleep for 100 seconds
sleep(100);
}
fwrite($fp, date('Y-m-d H:i:s') . ' Stopped' . PHP_EOL);
fclose($fp);
Этот простой пример (адаптированный из руководства по PHP для ignore_user_abort ) - это всего лишь сценарий контейнера. Фактическая функциональность будет помещена в цикл while
.
Этот скрипт работает на моем ноутбуке в течение 7 часов, и он выглядит хорошо, но он мало что делает. Кто-нибудь еще пробовал это?