이전에 다뤘던 경우 사과드립니다. 검색을했으나 사용 된 정확한 용어를 모를 수도 있습니다.하나의 어레이를 다루는 여러 "에이전트"
이 프로세스는 PHP로 처리됩니다. 나는 파일 이름의 큰 배열이
:
여기 상황이다. 내가 가지고있는 스크립트는이 파일들을 열고 그들의 내용을 데이터베이스에 입력한다. 이러한 파일을 한 번에 하나씩 처리하는 데 24 시간 이상이 걸리며 이러한 파일은 매일 업데이트됩니다.
하나의 큰 배열을 4 개의 작은 배열로 분할하고 동시 프로세스를 실행하면 24 시간 창이 경과하기 전에 작업이 완료되지만, 파일 크기가 매일 달라지기 때문에 하나 또는 두 개의 프로세스가 다른 프로세스보다 몇 시간 전에 완료되는 경우가 있습니다.
자신의 작업을 마친 후 남은 일을 돕기 위해 소매 선반을 재고있는 사람들 (이전에 그 악몽을 꾼 사람들은 누구입니까?)이 "상담원"이있는 곳의 스크립트를 갖고 싶습니다. 똑같이하십시오. 잘못 될 수 있고, 내가 :-)
$files = array('file1','file2','file3','file4','file5');
//etc... on to over 4k elements
while($file = array_pop($files)){
//Something in here... I have no idea what.
}
아이디어를 생각하면 항의 너무 자랑 아니에요 -
는 여기에 내가 알아 낸 것의 몇 가지 기본 요? 4 개의 함수 호출이나 4 개의 루프와 같은 것이 내 마음을 넘어서는 반면, 이전 호출이 끝날 때까지 후속 호출을 수행 할 때까지 기다릴 것이라고 확신합니다.
도움을 주시면 감사하겠습니다. 나는이 하나에 진지하게 붙어있다!
감사합니다.
PHP로이 작업을 수행 하시겠습니까? (C#의 ThreadPool과 같은) 쉬운 멀티 스레딩을 지원하는 언어를 사용하십시오. – CodeZombie
파이썬 ..... 아마 여기 대답은 –
입니다. 제가 가장 익숙한 언어이고, 소스 파일을 가져 오는 코드는 PHP로 작성되었습니다 하지만 웹 사이트 대신 bash 콘솔에서 실행되므로 일부 셸 스크립팅은 전적으로 가능성의 영역 내에 있습니다. – user1075581