내 알림 모델에 send_time
필드가 있습니다. 그 당시 모든 모바일 클라이언트에게 알림을 보내려고합니다.동적 스케줄링 셀로 비트 설정
내가 뭘, 내가이 작업을 생성
tasks.py 분마다
@app.task(name='app.tasks.send_notification')
def send_notification():
# here is logic to filter notification that fall inside that 1 minute time span
cron.push_notification()
settings.py을 위해 그것을 예약 한 지금하고있는 중이 야 모든 일이
CELERYBEAT_SCHEDULE = {
'send-notification-every-1-minute': {
'task': 'app.tasks.send_notification',
'schedule': crontab(minute="*/1"),
},
}
예상대로 작동합니다.
질문 :
send_time
분야에 따라 작업을 예약 할 수있는 방법이있다, 그래서 모든 분 동안 작업을 예약 할 필요가 없습니다.
는 구체적으로 내가 내 알림 모델로 작업의 새 인스턴스를 만들 새 항목을 얻고 그 기록의 send_time
분야에 따라 일정을합니다.
참고 : 나는
알림마다 동일한 작업을 호출 할 수 있습니까? 그것은 별도의 스레드로 작동합니까? – Satendra
@Satendra 예이 태스크를 호출 할 때마다 다른 인스턴스로 작동합니다. –
감사합니다. @Parul이 방법은 훨씬 깨끗합니다. 제가 알려 드리겠습니다. – Satendra