크롤링하는 함수를 작성 후 이것들을 병렬 처리하기 위해 커스텀한 명령어를 생성함
import threading
from django.core.management.base import BaseCommand
from crawlers.get_cpu_list import get_cpu_list
from crawlers.get_board_list import get_board_list
class Command(BaseCommand):
help = 'pcgg 크롤링 명령어'
output_transaction = True
def handle(self, *args, **options):
tasks = []
task1 = threading.Thread(target=get_cpu_list)
task2 = threading.Thread(target=get_board_list)
task1.start()
tasks.append(task1)
task2.start()
tasks.append(task2)
for task in tasks:
task.join()
파일 이름이 명령어가 됨. 예를 들어 위 파일 이름이 crawling_all.py 인데 이 명령을 실행하려면
"py manage.py crawling_all"을 입력하면 된다.
handle내부에 원하는 로직을 작성하면 된다.
'Django' 카테고리의 다른 글
MVT (0) | 2023.09.27 |
---|---|
네이버 Object Storage에 객체 업로드 하는 두 가지 방법 (0) | 2023.09.19 |
스레드와 GIL (0) | 2023.09.15 |
Requested setting LOGGING_CONFIG, but settings are not configured. (0) | 2023.09.13 |
RuntimeWarning: DateTimeField received a naive datetime (0) | 2023.09.13 |