티스토리 뷰
* 프레임워크 의존도가 없다
* 초단위(cron), 특정시간(at), 주기적인(interval) 작업수행 가능
* @sched.scheduled_job('cron', day_of_week='fri'.... 으로 선언하여 사용
* 설치
-> pip install apscheduler
* 예제
import logging
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
def todo_action():
# TODO ACTTION
print "TODO this !!"
# 금요일 9시 22분에 실행
@sched.scheduled_job('cron', day_of_week='fri', hour=9, minute=22)
def cron_job():
print "Start Scheduler !!"
# 10초에 한번씩 todo_action 을 실행
# id 는 스케쥴러 삭제를 위해 필요 -> 삭제 : sched.remove_job("todo_action_1")
sched.add_job(todo_action, "interval", seconds=10, id="todo_action_1")
logging.basicConfig()
# 스케쥴러 실행
sched.start()
* 예제 2 : Tornado 에 적용 시
# 스케줄러 정의, 생성
@sched.scheduled_job('cron', day_of_week='fri', hour=9, minute=22)
def scheduled_job():
sched.add_job(timed_job, "interval", seconds=1, id="timedJob")
def timed_job():
print "aa"
sched.remove_job("timedJob") # 스케줄러 삭제
def main():
tornado.options.parse_command_line()
logging.info("start!! http://localhost:%s" % options.port)
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen(options.port)
sched.start() # 1. 스케쥴러 실행
tornado.ioloop.IOLoop.instance().start() # 2. tornado 실행
if __name__ == "__main__":
main()
'프로그래밍' 카테고리의 다른 글
[JAVASCRIPT] 정규식 (0) | 2016.12.24 |
---|---|
[ETC] 모바일웹, 웹앱, 하이브리드앱, 네이티브앱 차이점 (0) | 2016.12.24 |
[ETC] Singleton Pattern (0) | 2016.12.24 |
[ETC] Cron Tab (0) | 2016.12.24 |
[PYTHON] File IO, Image Download (0) | 2016.12.24 |
- Total
- Today
- Yesterday
- 애드센스
- 성스러운 계곡
- 캄보디아
- 칠레
- Namibia
- 빈트후크
- 킹덤 호텔
- 칼라마
- 남미 저가항공
- 성계 투어
- jQuery
- 토레스 델 파이네
- aguas calientes
- 볼리비아
- 햄버거
- 족발
- 우유니
- 후마리
- 마추피추
- Oracle
- 푸에르토 나탈레스
- 빅토리아폴스
- 나미비아
- 아구아스 칼리엔테스
- Uyuni
- Cambodia
- calama
- 남미
- 쿠스코
- Cusco
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |