본문 바로가기

celery5

[Celery] 무작정 시작하기 (5) - Monitoring 2020/01/10 - [Back-end/Python] - [Celery] 무작정 시작하기 (1) - 설치 및 실행 2020/01/17 - [Back-end/Python] - [Celery] 무작정 시작하기 (2) - Task 2020/01/20 - [Back-end/Python] - [Celery] 무작정 시작하기 (3) - Chain 2020/01/20 - [Back-end/Python] - [Celery] 무장적 시장하기 (4) - Group과 Chord 지금까지 Celery에서 Task를 사용하는 예제들을 다루면서 실행 상태를 확인 할 때 Celery Log만 봤었다. 크롤링에 Task를 사용하면서 수행시간이 긴 Task를 확인하고 중단 할 필요가 생겼다. 당연히 Log에서는 처리할 수 없는 부분.. 2020. 1. 28.
[Celery] 무작정 시작하기 (3) - Chain 2020/01/10 - [Back-end/Python] - [Celery] 무작정 시작하기 (1) - 설치 및 실행 2020/01/17 - [Back-end/Python] - [Celery] 무작정 시작하기 (2) - Task 지난 포스트에서 apply_async(delay)로 Task를 단일 실행시키는 방법에 대해서 간단하게 알아보았다. 단일로 실행시켰을 경우 각 Task는 독립적이기 때문에 서로의 결과값을 참조할 수 없다. 하지만, 처음에 실행된 Task의 결과값을 다음 Task에서 사용해야하는 경우도 있을 것이다. 그래서, 이번 포스트에서는 이러한 문제를 해결할 수 있는 Chain에 대해서 알아보도록 하겠다. 지난 포스트에서 셋팅한 Celery App을 사용하므로 반드시 선행하길 바란다. 1. Ch.. 2020. 1. 20.
[Celery] 무작정 시작하기 (2) - Task 2020/01/10 - [Back-end/Python] - [Celery] 무작정 시작하기 (1) - 설치 및 실행 지난 포스트에서 Celery를 설치하고 간단하게 Task를 비동기로 실행해보았다. Celery가 비동기 태스크 큐이지만 동기적으로 Task를 실행할 수도 있고, 이전 Task의 결과를 다음 Task의 인자로 전달하여 실행하는 등 다양한 처리 방법들을 제공한다. 그래서 이번 포스트에서는 지금까지 찾아본 Task를 실행하는 방법들에 대해서 알아보도록 하겠다. 1. Task를 실행하는 방법. 1-1. apply_async 또는 delay를 이용하는 방법. - 호출과 동시에 Task가 실행됨. - delay는 apply_async를 사용하여 만든 shortcut이며, Arguments만 전달할 수.. 2020. 1. 17.
[Celery] 무작정 시작하기 (1) - 설치 및 실행 Scrapy+Selenium를 이용하여 크롤링을 하다가 오래 걸리는 한 녀석 때문에 다른 작업들이 밀려서 실시간으로 데이터를 가져오지 못하는 경우가 발생했다. 그래서 파이썬에서 비동기처리를 할 수 있는 방법에 대해서 찾아보다가 Scrapyd와 Celery에 대해서 알게되었다. Scrapyd는 API를 통해 Spider를 비동기적으로 호출하고 작업을 취소할 수도 있고, 사용법도 간단하여 아주 유용하게 사용한 녀석이다. 그리고 Celery는 비동기 태스크 큐이며 일련의 작업들을 큐에 담아 멀티태스킹 처리하는 방식이다. 여기에 Spider를 실행시키는 작업을 담으면 비동기처리가 가능하게 되고, 추가로 다른 작업들도 비동기 처리를 할 수 있다. 그래서 동기적으로 수행되는 웹에서 파일을 변환하여 저장하거나, 파일.. 2020. 1. 10.