Skip to content

Commit

Permalink
[Code cleanup] Minor adjustments on initialization signals
Browse files Browse the repository at this point in the history
  • Loading branch information
afabiani committed Jul 26, 2021
1 parent 2de2535 commit 3799f82
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 28 deletions.
19 changes: 9 additions & 10 deletions geonode/monitoring/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@
#########################################################################

import logging
from django.utils.translation import ugettext_noop as _
from django.conf import settings
from functools import wraps

from geonode.notifications_helper import NotificationsAppConfigBase, has_notifications
from django.conf import settings
from django.db.models.signals import post_migrate
from django.utils.translation import ugettext_noop as _

from geonode.notifications_helper import NotificationsAppConfigBase, has_notifications

log = logging.getLogger(__name__)


def run_setup_hooks(*args, **kwargs):
from django.conf import settings
from django.utils import timezone
from geonode.monitoring.models import populate

# Initialize periodic tasks
if 'django_celery_beat' in settings.INSTALLED_APPS and \
settings.CELERY_BEAT_SCHEDULER == 'django_celery_beat.schedulers:DatabaseScheduler':
getattr(settings, 'CELERY_BEAT_SCHEDULER', None) == 'django_celery_beat.schedulers:DatabaseScheduler':
from django_celery_beat.models import (
IntervalSchedule,
PeriodicTask,
Expand All @@ -59,11 +59,6 @@ def run_setup_hooks(*args, **kwargs):
start_time=timezone.now()
)
)
else:
settings.CELERY_BEAT_SCHEDULE['collect_metrics'] = {
'task': 'geonode.monitoring.tasks.collect_metrics',
'schedule': 300.0,
}

# Initialize notifications
if not has_notifications:
Expand All @@ -84,6 +79,10 @@ class MonitoringAppConfig(NotificationsAppConfigBase):
def ready(self):
super().ready()
post_migrate.connect(run_setup_hooks, sender=self)
settings.CELERY_BEAT_SCHEDULE['collect_metrics'] = {
'task': 'geonode.monitoring.tasks.collect_metrics',
'schedule': 300.0,
}


default_app_config = 'geonode.monitoring.MonitoringAppConfig'
Expand Down
14 changes: 6 additions & 8 deletions geonode/services/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,17 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#########################################################################

from django.conf import settings
from django.db.models.signals import post_migrate
from geonode.notifications_helper import NotificationsAppConfigBase


def run_setup_hooks(sender, **kwargs):
from django.conf import settings
from django.utils import timezone

# Initialize periodic tasks
if 'django_celery_beat' in settings.INSTALLED_APPS and \
settings.CELERY_BEAT_SCHEDULER == 'django_celery_beat.schedulers:DatabaseScheduler':
getattr(settings, 'CELERY_BEAT_SCHEDULER', None) == 'django_celery_beat.schedulers:DatabaseScheduler':
from django_celery_beat.models import (
IntervalSchedule,
PeriodicTask,
Expand All @@ -51,11 +50,6 @@ def run_setup_hooks(sender, **kwargs):
start_time=timezone.now()
)
)
else:
settings.CELERY_BEAT_SCHEDULE['probe_services'] = {
'task': 'geonode.services.tasks.probe_services',
'schedule': 600.0,
}


class ServicesAppConfig(NotificationsAppConfigBase):
Expand All @@ -65,3 +59,7 @@ def ready(self):
"""Connect relevant signals to their corresponding handlers"""
super().ready()
post_migrate.connect(run_setup_hooks, sender=self)
settings.CELERY_BEAT_SCHEDULE['probe_services'] = {
'task': 'geonode.services.tasks.probe_services',
'schedule': 600.0,
}
14 changes: 6 additions & 8 deletions geonode/upload/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#########################################################################

from django.conf import settings
from django.apps import AppConfig
from django.db.models.signals import post_migrate

Expand All @@ -37,12 +37,11 @@ class LayerNotReady(Exception):


def run_setup_hooks(sender, **kwargs):
from django.conf import settings
from django.utils import timezone

# Initialize periodic tasks
if 'django_celery_beat' in settings.INSTALLED_APPS and \
settings.CELERY_BEAT_SCHEDULER == 'django_celery_beat.schedulers:DatabaseScheduler':
getattr(settings, 'CELERY_BEAT_SCHEDULER', None) == 'django_celery_beat.schedulers:DatabaseScheduler':
from django_celery_beat.models import (
IntervalSchedule,
PeriodicTask,
Expand All @@ -66,11 +65,6 @@ def run_setup_hooks(sender, **kwargs):
start_time=timezone.now()
)
)
else:
settings.CELERY_BEAT_SCHEDULE['finalize-incomplete-session-resources'] = {
'task': 'geonode.upload.tasks.finalize_incomplete_session_uploads',
'schedule': 600.0,
}


class UploadAppConfig(AppConfig):
Expand All @@ -80,6 +74,10 @@ class UploadAppConfig(AppConfig):
def ready(self):
super().ready()
post_migrate.connect(run_setup_hooks, sender=self)
settings.CELERY_BEAT_SCHEDULE['finalize-incomplete-session-resources'] = {
'task': 'geonode.upload.tasks.finalize_incomplete_session_uploads',
'schedule': 60.0,
}


default_app_config = "geonode.upload.UploadAppConfig"
5 changes: 3 additions & 2 deletions geonode/upload/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -716,8 +716,9 @@ def view(req, step=None):
if 'upload/final' in resp_js.get('redirect_to', ''):
from geonode.upload.tasks import finalize_incomplete_session_uploads
finalize_incomplete_session_uploads.apply_async()
except Exception:
pass
except Exception as e:
logger.warning(e)
return error_response(req, errors=e.args)

# must be put back to update object in session
if upload_session:
Expand Down

0 comments on commit 3799f82

Please sign in to comment.