Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions augur/application/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ def redact_setting_value(section_name, setting_name, value):
"run_facade_contributors": 1,
"facade_contributor_full_recollect": 0,
"commit_messages": 1,
"unresolved_commit_emails_refresh_interval_hours": 48,
},
"Server": {
"cache_expire": "3600",
Expand Down
4 changes: 4 additions & 0 deletions augur/application/db/lib.py
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,10 @@ def get_contributor_aliases_by_email(email):
with get_session() as session:

return session.query(ContributorsAlias).filter_by(alias_email=email).all()

def clear_unresolved_commit_emails_table():
remove_commit = s.sql.text("""DELETE FROM unresolved_commit_emails""")
execute_sql(remove_commit)

def get_unresolved_commit_emails_by_name(name):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ def __init__(self,logger: Logger):
self.create_xlsx_summary_files = worker_options["create_xlsx_summary_files"]
self.facade_contributor_full_recollect = worker_options["facade_contributor_full_recollect"]
self.commit_messages = worker_options["commit_messages"]
self.unresolved_commit_emails_refresh_interval_hours = worker_options["unresolved_commit_emails_refresh_interval_hours"]

self.tool_source = "Facade"
self.data_source = "Git Log"
Expand Down
5 changes: 4 additions & 1 deletion augur/tasks/init/celery_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ def setup_periodic_tasks(sender, **kwargs):
"""
from celery.schedules import crontab
from augur.tasks.start_tasks import augur_collection_monitor
from augur.tasks.start_tasks import non_repo_domain_tasks, retry_errored_repos, create_collection_status_records
from augur.tasks.start_tasks import non_repo_domain_tasks, retry_errored_repos, create_collection_status_records, clear_all_unresolved_commit_emails
from augur.tasks.git.facade_tasks import clone_repos
from augur.tasks.github.contributors import process_contributors
from augur.tasks.db.refresh_materialized_views import refresh_materialized_views
Expand Down Expand Up @@ -249,6 +249,9 @@ def setup_periodic_tasks(sender, **kwargs):

# logger.info(f"Scheduling update of collection weights on midnight each day")
# sender.add_periodic_task(crontab(hour=0, minute=0),augur_collection_update_weights.s())
clear_unres_emails_interval = config.get_value('Facade', 'unresolved_commit_emails_refresh_interval_hours') or 24
logger.info(f"Setting unresolved commit emails to automatically be cleared every {clear_unres_emails_interval} hours")
sender.add_periodic_task(clear_unres_emails_interval*60*60, clear_all_unresolved_commit_emails.s())

logger.info(f"Setting 404 repos to be marked for retry on midnight each day")
sender.add_periodic_task(crontab(hour=0, minute=0),retry_errored_repos.s())
Expand Down
8 changes: 7 additions & 1 deletion augur/tasks/start_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from augur.tasks.util.collection_state import CollectionState
from augur.tasks.util.collection_util import *
from augur.tasks.git.util.facade_worker.facade_worker.utilitymethods import get_facade_weight_time_factor
from augur.application.db.lib import execute_sql, get_session
from augur.application.db.lib import execute_sql, get_session, clear_unresolved_commit_emails_table
from augur.application.config import AugurConfig

RUNNING_DOCKER = os.environ.get('AUGUR_DOCKER_DEPLOY') == "1"
Expand Down Expand Up @@ -390,3 +390,9 @@ def create_collection_status_records(self):

# no longer recursively run this task because collection status records are added when repos are inserted
#create_collection_status_records.si().apply_async(countdown=60*7)


#Automatically re-try to resolve unresolved emails after a set amount of time
@celery.task(bind=True)
def clear_all_unresolved_commit_emails(self):
clear_unresolved_commit_emails_table()
Loading