mirror of
https://github.com/boostorg/website-v2.git
synced 2026-02-27 17:42:08 +00:00
35 lines
901 B
Python
35 lines
901 B
Python
import structlog
|
|
|
|
from celery.schedules import crontab
|
|
|
|
from config.celery import app
|
|
from libraries.github import LibraryUpdater
|
|
|
|
|
|
logger = structlog.getLogger(__name__)
|
|
|
|
|
|
@app.on_after_configure.connect
|
|
def setup_periodic_tasks(sender, **kwargs):
|
|
# Executes every 5th of the month at 7:30 a.m.
|
|
sender.add_periodic_task(
|
|
crontab(hour=7, minute=30, day_of_month=5),
|
|
update_libraries.s(),
|
|
)
|
|
|
|
|
|
@app.task
|
|
def update_libraries():
|
|
"""Update local libraries from GitHub Boost libraries.
|
|
|
|
Use the LibraryUpdater, which retrieves the active boost libraries from the
|
|
Boost GitHub repo, to update the models with the latest information on that
|
|
library (repo) along with its issues, pull requests, and related objects
|
|
from GitHub.
|
|
|
|
"""
|
|
updater = LibraryUpdater()
|
|
updater.update_libraries()
|
|
|
|
logger.info("libraries_tasks_update_libraries_finished")
|