Add celery task for Melissas ogn range statistics

pull/78/head
Konstantin Gründger 2019-04-14 22:07:52 +02:00
rodzic 8180056604
commit 966fb53f3b
4 zmienionych plików z 17 dodań i 6 usunięć

Wyświetl plik

@ -171,6 +171,7 @@ Most commands are command groups, so if you execute this command you will get fu
- `ogn_python.collect.celery.update_receivers_country_code` - Update country code in receivers table if None.
- `ogn_python.collect.celery.purge_old_data` - Delete AircraftBeacons and ReceiverBeacons older than given 'age'.
- `ogn_python.collect.celery.update_stats` - Create stats and update receivers/devices with stats.
- `ogn_python.collect.celery.update_ognrange` - Create receiver coverage stats for Melissas ognrange.
If the task server is up and running, tasks could be started manually. Here we compute takeoffs and landings for the past 90 minutes:

Wyświetl plik

@ -12,9 +12,10 @@ from ogn_python.collect.database import update_country_code as receivers_update_
from ogn_python.collect.stats import create_device_stats, update_device_stats_jumps, create_receiver_stats, create_relation_stats, update_qualities, update_receivers, update_devices
from ogn_python.collect.ognrange import update_entries as receiver_coverage_update_entries
from ogn_python import db
from ogn_python import celery
from ogn_python.model import receiver
logger = get_task_logger(__name__)
@ -97,3 +98,12 @@ def update_stats(day_offset):
update_qualities(session=db.session, date=date)
update_receivers(session=db.session)
update_devices(session=db.session)
@celery.task(name='update_ognrange')
def update_ognrange(day_offset):
"""Create receiver coverage stats for Melissas ognrange."""
date = datetime.datetime.today() + datetime.timedelta(days=day_offset)
receiver_coverage_update_entries(session=db.session, date=date)

Wyświetl plik

@ -8,8 +8,8 @@ from ogn_python.utils import date_to_timestamps
from ogn_python import app
def create_receiver_coverage(session, date, logger=None):
"""Create receiver coverages."""
def update_entries(session, date, logger=None):
"""Create receiver coverage stats for Melissas ognrange."""
if logger is None:
logger = app.logger

Wyświetl plik

@ -10,7 +10,7 @@ from ogn_python.collect.stats import create_device_stats, create_receiver_stats,
update_qualities, update_receivers as update_receivers_command, update_devices as update_devices_command,\
update_device_stats_jumps
from ogn_python.collect.ognrange import create_receiver_coverage
from ogn_python.collect.ognrange import update_entries as update_receiver_coverages
from ogn_python import db
@ -105,11 +105,11 @@ def update_mgrs(start, end):
@click.argument('start')
@click.argument('end')
def create_ognrange(start=None, end=None):
"""Create stats for Melissas ognrange."""
"""Create receiver coverage stats for Melissas ognrange."""
days = get_database_days(start, end)
pbar = tqdm(days)
for single_date in pbar:
pbar.set_description(datetime.strftime(single_date, '%Y-%m-%d'))
result = create_receiver_coverage(session=db.session, date=single_date)
result = update_receiver_coverages(session=db.session, date=single_date)