Вместо создания множества отдельных заданий cron, каждое из которых выполняет одно задание получения / обновления, просто создайте одно общее задание c cron, которое выполняет все задание поиска / обновления.
Если вы хотите, чтобы они запускались независимо и одновременно, вы могли бы порождать отдельные процессы из этого одного задания cron. Вы можете сделать это динамически, начиная с PHP, чтобы вы могли использовать текущий список городов и запускать отдельный процесс для каждого.
Например, вместо запуска "php updatecity. php Washington" (в качестве примера того, как вы запускаете скрипт php, который обновляет определенный город), запустите:
nohup php updatecity.php "$city" > /dev/null 2>&1 &
Это запустит отдельный процесс php в фоновом режиме, запустив ваш updatecity.php
сценарий с параметром $city
в качестве аргумента.
Убедитесь, что ваши процессы не могут останавливаться или продолжать работать, в противном случае вы можете в конечном итоге завалить сервер множеством незавершенных процессов.