Если вам надо каждые 3 секунды слать запрос, то тут самый оптимальный вариант будет такой:
1. Устанавливаете
supervisord, настраиваете его конфиг и настраиваете конфиг запускаемого php скрипта (в этом нет ничего сложного, инструкции в интернете имеются)
2. Сам php скрипт у вас будет состоять из бесконечного цикла while, в начале которого у вас будет задержка в 3 секунды:
while (true){
sleep(3);
// do some cool (or not) stuff
}
3. Запускаете супервизор и дело в шляпе)
В чём плюс такого подхода:
1. Цикл while (true) никогда не закончится и будет выполнять ваш код каждые N-секунд.
2. Супервизор демонизирует ваш скрипт, и он, по сути, становится сервисом, а не просто php скриптом
3. В конфиге супервизора для вашего скрипта можно указать параметр
autorestart=true, и в случае, если скрипт упадет, супервизор его перезапустит без вашего участия (вдруг хост, куда вы по апи стучитесь, упадет на какое-то время)