Python
-
Python CeleryPython 2022. 10. 6. 17:44
어떤 작업을 실행하고 완료까지 대략 10초정도가 걸리는 작업이 있다고 가정해보자 그 작업을 실행하고 완료되기까지 10초정도 사이트가 멈출 것이다. 그래서 비동기 작업의 필요성을 느끼고 비동기로 실행시킬 것이다. 다시 생각해보자 비동기 작업을 실행해놓고 다른 작업들을 할 수 있지만 동시에 대용량 작업을 처리하거나 무거운 연산이 포함된다면 서비스에 장애가 발생하게 될 것이다. 또한 작업마다 소요시간이 다름, 작업이 누락되지 않아야함 등 여러가지 중요한 부분들이 존재한다. 그래서 비동기 작업 큐라는 것으로 작업을 관리하고 작업자에게 제대로 전달하기 위해 중간에 브로커가 존재한다. python에서 비동기 작업 큐를 활용할 수 있는게 celery이다. python celery celery 공식문서보면 실시간 처리..
-
Python getter setter propertyPython 2022. 9. 28. 16:19
@property 데코레이터에 대해 알아보자 그전에 선행으로 getter와 setter의 개념부터 알아보자 class User: def __init__(self, name, age): self.name = name self.age = age first_user = User(name="루키", age=12) print(first_user.name) # 루키 print(first_user.age) # 12 first_user.age = first_user.age + 16 print(first_user.age) # 28 이런 간단한 구조의 클래스가 있을 때 파이썬에서는 클래스의 인스턴스를 생성 후 필드 값을 읽거나 쓰는 것에 제약이 없다. 객체지향을 처음 공부하며 느낀 점 중 하나이다. 캡슐화로 외부에서 접근..