запустить несколько PHP файлов одновременно - PullRequest
0 голосов
/ 23 апреля 2020

Я создал несколько инструментов с PHP для вставки данных в базу данных с механизмом загрузки.

Но поскольку в базе данных около 100 000 записей, мне нужно запустить несколько частей параллельно. Однако, когда я пытаюсь это сделать, второй процесс будет ждать, пока первый процесс не завершится.

Можете ли вы помочь мне с этой проблемой? Большое спасибо заранее.

1 Ответ

0 голосов
/ 23 апреля 2020

Если я правильно понимаю комментарии, вы пытаетесь переместить несколько строк из одной базы данных в другую, и внутренняя задержка означает, что последовательные операции выполняются медленно.

Однако вы можете разделить операции на части.

Отлично, для написания сценария требуется два аргумента командной строки, один для индекса начала фрагмента и индекса конца фрагмента. Например,

 php chunkProcessorExample.php 1 100 

Будет обрабатывать чанк для строк 1-100, как вы сказали в комментарии.

Теперь, если вы используете Linux, создайте файл. sh, который запускает столько скриптов, сколько вам нужно, например,

 nohup php chunkProcessorExample.php 1 100 &
 nohup php chunkProcessorExample.php 101 200 &
 nohup php chunkProcessorExample.php 201 300 &
 # Etc etc as you need

. Вы можете написать Файл PHP для создания этого файла. sh, если вы хотите, чтобы вам было легко изменять параметры и параллелизм.

Затем просто запускайте файл. sh всякий раз, когда вам нужно выполнить эту большую передачу.

...