Skip to content

Commit 8a7d480

Browse files
Add PostmonTaskScheduler module #56
1 parent 26e868d commit 8a7d480

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
*.swp
44
run.py
55
build
6+
celerybeat-schedule

PostmonTaskScheduler.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
from datetime import timedelta
4+
from celery import Celery
5+
from celery.utils.log import get_task_logger
6+
from IbgeTracker import IbgeTracker
7+
from database import MongoDb as Database
8+
9+
app = Celery('postmon', broker='mongodb://localhost:27017')
10+
11+
app.conf.update(
12+
CELERY_TASK_SERIALIZER='json',
13+
CELERY_ACCEPT_CONTENT=['json'], # Ignore other content
14+
CELERY_RESULT_SERIALIZER='json',
15+
CELERY_TIMEZONE='America/Sao_Paulo',
16+
CELERY_ENABLE_UTC=True,
17+
CELERYBEAT_SCHEDULE = {
18+
'track_ibge_daily': {
19+
'task': 'PostmonTaskScheduler.track_ibge',
20+
'schedule': timedelta(days=1) # útil para testes: timedelta(minutes=1)
21+
}
22+
}
23+
)
24+
25+
logger = get_task_logger(__name__)
26+
27+
@app.task
28+
def track_ibge():
29+
logger.info('Iniciando tracking do IBGE...')
30+
db = Database()
31+
ibge = IbgeTracker()
32+
ibge.track(db)
33+
logger.info('Finalizou o tracking do IBGE')

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ webtest==1.4.3
77
packtrack==0.1.0
88
xmltodict
99
flake8
10+
celery[mongodb]

0 commit comments

Comments
 (0)