본문 바로가기

Python31

[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.
[pynput] 나만의 단축키 만들기 요즘 Python으로 웹개발 뿐만 아니라 여러가지 라이브러리들을 학습해보고 있는데, 그 중에서 조금 재밌던 라이브러리를 소개해볼까 한다. 개발을 할 때 마우스를 최대한 적게 사용하려고 한다. 손이 왔다갔다하는게 여간 귀찮고 힘든게 아니다. 그래서 Mac을 사용할 때는 이런저런 단축키들을 등록해놓고 쓸 수 있어서 편했는데, Widnows에서는 별도의 프로그램을 설치해야 하는것 같아서 불편했다. 그래서 Windows 단축키들을 찾아보다가 pynput이라는 라이브러리를 알게되었다. 이 라이브러리는 키보드와 마우스의 입력을 모니터링하고 제어할 수 있는 라이브러리인데, 이를 활용하여 단축키도 만들 수 있다. 자료들을 찾아보면서 정리한 내용을 토대로 나만의 단축키를 만드는 방법을 다루어보도록 하겠다. 1. pynp.. 2020. 1. 15.
[Celery] 무작정 시작하기 (1) - 설치 및 실행 Scrapy+Selenium를 이용하여 크롤링을 하다가 오래 걸리는 한 녀석 때문에 다른 작업들이 밀려서 실시간으로 데이터를 가져오지 못하는 경우가 발생했다. 그래서 파이썬에서 비동기처리를 할 수 있는 방법에 대해서 찾아보다가 Scrapyd와 Celery에 대해서 알게되었다. Scrapyd는 API를 통해 Spider를 비동기적으로 호출하고 작업을 취소할 수도 있고, 사용법도 간단하여 아주 유용하게 사용한 녀석이다. 그리고 Celery는 비동기 태스크 큐이며 일련의 작업들을 큐에 담아 멀티태스킹 처리하는 방식이다. 여기에 Spider를 실행시키는 작업을 담으면 비동기처리가 가능하게 되고, 추가로 다른 작업들도 비동기 처리를 할 수 있다. 그래서 동기적으로 수행되는 웹에서 파일을 변환하여 저장하거나, 파일.. 2020. 1. 10.