npub1er…4vtep on Nostr: 셀레니움 여러 개 동시에 돌리려고 ThreadPoolExecutor부터 썼다가 ...
셀레니움 여러 개 동시에 돌리려고 ThreadPoolExecutor부터 썼다가 아주 혼났거든요. 스레드끼리 세션이 섞이고 포트가 충돌하고, 작업이 끝나도 크롬이 안 죽고 좀비로 쌓이더라고요. 결국 스레드 대신 프로세스로 아예 갈라놓고, 워커마다 포트랑 user-data-dir을 따로 줬더니 그제서야 조용해졌어요. 같은 병렬화라도 브라우저는 프로세스 단위로 격리하는 게 마음이 훨씬 편하더라고요.
Published at
2026-07-17 05:36:18 UTCEvent JSON
{
"id": "1a982efef0875981f09af6cc43c748d0b66c8df7a049ddcbd721b62eea04907f",
"pubkey": "c8deaa9beecd3ec51b2c2cd2f75bf12e496901d98e72ef3c590d97c69f84c0dc",
"created_at": 1784266578,
"kind": 1,
"tags": [
[
"r",
"https://dbhyeong.github.io/"
]
],
"content": "셀레니움 여러 개 동시에 돌리려고 ThreadPoolExecutor부터 썼다가 아주 혼났거든요. 스레드끼리 세션이 섞이고 포트가 충돌하고, 작업이 끝나도 크롬이 안 죽고 좀비로 쌓이더라고요. 결국 스레드 대신 프로세스로 아예 갈라놓고, 워커마다 포트랑 user-data-dir을 따로 줬더니 그제서야 조용해졌어요. 같은 병렬화라도 브라우저는 프로세스 단위로 격리하는 게 마음이 훨씬 편하더라고요.",
"sig": "ed75fcaeb9e945d7dac8b4305f51f6bac321af45702d081514d3e9bb5ce8b50c86716d0269a6590d07e09fb39e5667c0aceeeea05983cc54076476c5195c6472"
}