Django
Django custom management command
Going9
2023. 9. 15. 10:42
크롤링하는 함수를 작성 후 이것들을 병렬 처리하기 위해 커스텀한 명령어를 생성함
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내부에 원하는 로직을 작성하면 된다.