# Script for Avia project

MAILTO=avia-cron@yandex-team.ru
SCRIPTS=scripts
AVIA_SCRIPTS=avia_scripts
CONTENT_TYPE="text/plain; charset=utf-8"
TIMEOUT=/usr/bin/timeout
SHELL=/bin/bash
APP_BINARY=/app/app



# Заберем данные авроры
5 */2 * * * root ${TIMEOUT} -s 9 1200 yt_lock ${YT_LOCK_PREFIX}/sync-aurora-aviatickets --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/sync_aurora_aviatickets.py"
*/5 * * * * root ${TIMEOUT} -s 9 1200 yt_lock ${YT_LOCK_PREFIX}/sync-aurora-timetable --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/sync_aurora_timetable.py"

# Подсчет популярных направлений
5 21 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/build-top-directions --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_top_directions.py -n50 -d3"

# Расчет модели для топа АК для авиабилетов в город
15 22 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/calculate-airline-city-top --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/calculate_airline_city_top.py"

# # Генерация файла rss
0 3 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/gen-rss --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/gen_rss_feed.py"


# ------- [ BEGIN: FROM AVIA-SCRIPTS ] -------

# chartex.ru Заполнение RegionalizePartnerQueryRule и SettlementCode
# https://sandbox.yandex-team.ru/scheduler/701038/view
# https://sandbox.yandex-team.ru/scheduler/701039/view
5 13,19 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch-chartex --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_chartex.py"

# charterok.ru Заполнение RegionalizePartnerQueryRule
# https://sandbox.yandex-team.ru/scheduler/701040/view
# https://sandbox.yandex-team.ru/scheduler/701041/view
5 13,19 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch-charterok --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_charterok.py"

# ClickAvia автоматическая регионализация
# https://sandbox.yandex-team.ru/scheduler/701029/view
# https://sandbox.yandex-team.ru/scheduler/701031/view
5 12,21 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch-clickavia --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_clickavia.py"

# Redwings автоматическая регионализация
# https://sandbox.yandex-team.ru/scheduler/700753/view
# https://sandbox.yandex-team.ru/scheduler/700822/view
# 35 12,21 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch-redwings --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_redwings.py"

# Tutu автоматическая регионализация
# https://sandbox.yandex-team.ru/scheduler/705390
# https://sandbox.yandex-team.ru/scheduler/705389
45 12,21 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch_regionalization_tutu --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_regionalization/tutu.py"

# Pobeda заполнение RegionalizePartnerQueryRule
# https://sandbox.yandex-team.ru/scheduler/701042/view
# https://sandbox.yandex-team.ru/scheduler/701043/view
5 21 * * *  root ${TIMEOUT} -s 9 5400 yt_lock ${YT_LOCK_PREFIX}/fetch-pobeda --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_pobeda.py"

# Заполнение минимальных цен
15 4 * * * root ${TIMEOUT} -s 9 25000 yt_lock ${YT_LOCK_PREFIX}/build-min-price --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_min_price.py -d30"
# Заполнение минимальных цен для колдунщика
15 3 * * * root ${TIMEOUT} -s 9 25000 yt_lock ${YT_LOCK_PREFIX}/build-wizard-min-price --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_wizard_min_price.py -d365"

# Расчет полноты кеша гибкого поиска
15 15,23 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/build-flexible-cache --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_flexible_cache.py -d365"

# Расчет полноты кеша динамического поиска
25 15,23 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/build-dynamic-cache --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_dynamic_cache.py -d14"

# Расчёт ближайших аэропортов по авиа-направлениям
5 20 * * 3 root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/avia-near-airports-recalc --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/airports_recalc.py"

# ------- [ BEGIN: FROM AVIA-SCRIPTS-CRON ] -------

# Рачет авиа-направлений
35 18 * * 3 root ${TIMEOUT} -s 9 18000 yt_lock ${YT_LOCK_PREFIX}/build-avia-directions --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_avia_directions.py -d365"

# Похожие предложения
5 18 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/build-similar-directions --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_similar_directions.py -d7 -n10"

# Экспортируем города из авиа базы в статистическую базу
7 15 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/export-settlements-to-avia-stat --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/export_settlements_to_stat_admin.py"

# Экспортируем аэропорты из авиа базы в статистическую базу
8 15 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/export-airports-to-avia-stat --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/export_airports_to_stat_admin.py"

# Обновление вендоров Dohop
# Когда-нибудь включим: https://st.yandex-team.ru/RASPTICKETS-16323
#5 */1 * * * root ${TIMEOUT} -s 9 300 yt_lock ${YT_LOCK_PREFIX}/fetch-dohop-vendors --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_dohop_vendors.py -s"

# Проверка минимальных цен на мордах миллионников
5 15 * * * root ${TIMEOUT} -s 9 10800 yt_lock ${YT_LOCK_PREFIX}/check-prices --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/check_prices.py -c ru"

# Amadeus регионализация
# https://sandbox.yandex-team.ru/scheduler/701032/view
# https://sandbox.yandex-team.ru/scheduler/701033/view
5 */6 * * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/fetch-amadeus-service --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_amadeus.py"

# Уведомление партнёров о необходимости отправлять статистику за предыдущий месяц
# Рассылаем уведомления по такому правилу http://crontab.guru/#5_10_1_*_*
5 10 1 * * root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/notify-about-partner-statistic-service --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/notify_about_partner_statistic.py"

# ------- [ END: FROM AVIA-SCRIPTS ] -------

# Обновление таблицы похожих авиакомпаний по rasp-tickets-show-log
5 2 * * 6 root ${TIMEOUT} -s 9 2700 yt_lock ${YT_LOCK_PREFIX}/build-similar-airlines --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/build_similar_airlines.py"

# Запуск формирования подробных отчетов для партнерки
* * * * * root ${TIMEOUT} -s 9 86400 ${SHELL} /app/import_balance_partner_stat.sh

# Пересчет цены клика
# 0 3 * * * root ${TIMEOUT} -s 9 86400 yt_lock ${YT_LOCK_PREFIX}/update-cpc-price --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/update_cpc_price.py" > /dev/null

# Отправка топ компаний без лого на выдаче
# 0 7 * * 1 root ${TIMEOUT} -s 9 1800 yt_lock ${YT_LOCK_PREFIX}/send-companies-without-logo --proxy hahn --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/send_companies_without_logo.py -m 500"


# Azimuth регионализация
# https://sandbox.yandex-team.ru/scheduler/701034/view
# https://sandbox.yandex-team.ru/scheduler/701035/view
0 3 * * * root ${TIMEOUT} -s 9 600 yt_lock ${YT_LOCK_PREFIX}/fetch-regionalization-azimuth --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_regionalization/azimuth.py --yav-secret-id=sec-01enjns8kszxys23k0h4g1fqmn"

# Smartavia регионализация
# https://sandbox.yandex-team.ru/scheduler/701036/view
# https://sandbox.yandex-team.ru/scheduler/701037/view
0 5 * * * root ${TIMEOUT} -s 9 600 yt_lock ${YT_LOCK_PREFIX}/fetch-regionalization-smartavia --proxy locke --create-lock "Y_PYTHON_ENTRY_POINT='travel.avia.admin.app:run_command' ${APP_BINARY} ${AVIA_SCRIPTS}/fetch_regionalization/smartavia.py"
