Use hostname and send celery errors to DCL_ERROR_EMAILS_TO
This commit is contained in:
parent
d30218297c
commit
a06753ca4b
3 changed files with 26 additions and 8 deletions
|
@ -1,5 +1,6 @@
|
|||
from dynamicweb.celery import app
|
||||
from celery.utils.log import get_task_logger
|
||||
from celery import current_task
|
||||
from django.conf import settings
|
||||
from opennebula_api.models import OpenNebulaManager
|
||||
from opennebula_api.serializers import VirtualMachineSerializer
|
||||
|
@ -45,6 +46,7 @@ def create_vm_task(self, vm_template_id, user, specs, template,
|
|||
stripe_customer_id, billing_address_data,
|
||||
billing_address_id,
|
||||
charge, cc_details):
|
||||
logger.debug("Running create_vm_task on {}".format(current_task.request.hostname))
|
||||
vm_id = None
|
||||
try:
|
||||
final_price = specs.get('price')
|
||||
|
@ -134,8 +136,8 @@ def create_vm_task(self, vm_template_id, user, specs, template,
|
|||
email_data = {
|
||||
'subject': '{} CELERY TASK ERROR: {}'.format(settings.DCL_TEXT,
|
||||
msg_text),
|
||||
'from_email': settings.DCL_SUPPORT_FROM_ADDRESS,
|
||||
'to': ['info@ungleich.ch'],
|
||||
'from_email': current_task.request.hostname,
|
||||
'to': settings.DCL_ERROR_EMAILS_TO_LIST,
|
||||
'body': ',\n'.join(str(i) for i in self.request.args)
|
||||
}
|
||||
email = EmailMessage(**email_data)
|
||||
|
|
|
@ -173,7 +173,8 @@ TEMPLATES = [
|
|||
os.path.join(PROJECT_DIR, 'nosystemd/templates/'),
|
||||
os.path.join(PROJECT_DIR,
|
||||
'ungleich/templates/djangocms_blog/'),
|
||||
os.path.join(PROJECT_DIR, 'ungleich/templates/cms/ungleichch'),
|
||||
os.path.join(PROJECT_DIR,
|
||||
'ungleich/templates/cms/ungleichch'),
|
||||
os.path.join(PROJECT_DIR, 'ungleich/templates/ungleich'),
|
||||
os.path.join(PROJECT_DIR,
|
||||
'ungleich_page/templates/ungleich_page'),
|
||||
|
@ -559,9 +560,21 @@ CELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND')
|
|||
CELERY_ACCEPT_CONTENT = ['application/json']
|
||||
CELERY_TASK_SERIALIZER = 'json'
|
||||
CELERY_RESULT_SERIALIZER = 'json'
|
||||
#CELERY_TIMEZONE = 'Europe/Zurich'
|
||||
# CELERY_TIMEZONE = 'Europe/Zurich'
|
||||
CELERY_MAX_RETRIES = int_env('CELERY_MAX_RETRIES', 5)
|
||||
|
||||
DCL_ERROR_EMAILS_TO = env('DCL_ERROR_EMAILS_TO_ADDRESS')
|
||||
|
||||
DCL_ERROR_EMAILS_TO_LIST = []
|
||||
if DCL_ERROR_EMAILS_TO is not None:
|
||||
DCL_ERROR_EMAILS_TO_ADDRESS_LIST = [x.strip() for x in
|
||||
DCL_ERROR_EMAILS_TO.split(
|
||||
',')] \
|
||||
if "," in DCL_ERROR_EMAILS_TO else [DCL_ERROR_EMAILS_TO.strip()]
|
||||
|
||||
if 'info@ungleich.ch' not in DCL_ERROR_EMAILS_TO_LIST:
|
||||
DCL_ERROR_EMAILS_TO_LIST.append('info@ungleich.ch')
|
||||
|
||||
ENABLE_DEBUG_LOGGING = bool_env('ENABLE_DEBUG_LOGGING')
|
||||
|
||||
if ENABLE_DEBUG_LOGGING:
|
||||
|
|
|
@ -3,6 +3,7 @@ import tempfile
|
|||
import cdist
|
||||
from cdist.integration import configure_hosts_simple
|
||||
from celery.result import AsyncResult
|
||||
from celery import current_task
|
||||
from celery.utils.log import get_task_logger
|
||||
from django.conf import settings
|
||||
from django.core.mail import EmailMessage
|
||||
|
@ -38,6 +39,8 @@ def save_ssh_key(self, hosts, keys):
|
|||
'state': True # whether key is to be added or
|
||||
} # removed
|
||||
"""
|
||||
logger.debug(
|
||||
"Running save_ssh_key on {}".format(current_task.request.hostname))
|
||||
logger.debug("""Running save_ssh_key task for
|
||||
Hosts: {hosts_str}
|
||||
Keys: {keys_str}""".format(hosts_str=", ".join(hosts),
|
||||
|
@ -70,8 +73,8 @@ def save_ssh_key(self, hosts, keys):
|
|||
email_data = {
|
||||
'subject': "celery save_ssh_key error - task id {0}".format(
|
||||
self.request.id.__str__()),
|
||||
'from_email': settings.DCL_SUPPORT_FROM_ADDRESS,
|
||||
'to': ['info@ungleich.ch'],
|
||||
'from_email': current_task.request.hostname,
|
||||
'to': settings.DCL_ERROR_EMAILS_TO_LIST,
|
||||
'body': "Task Id: {0}\nResult: {1}\nTraceback: {2}".format(
|
||||
self.request.id.__str__(), False, str(cdist_exception)),
|
||||
}
|
||||
|
@ -87,8 +90,8 @@ def save_ssh_key_error_handler(uuid):
|
|||
uuid, exc, result.traceback))
|
||||
email_data = {
|
||||
'subject': "[celery error] Save SSH key error {0}".format(uuid),
|
||||
'from_email': settings.DCL_SUPPORT_FROM_ADDRESS,
|
||||
'to': ['info@ungleich.ch'],
|
||||
'from_email': current_task.request.hostname,
|
||||
'to': settings.DCL_ERROR_EMAILS_TO_LIST,
|
||||
'body': "Task Id: {0}\nResult: {1}\nTraceback: {2}".format(
|
||||
uuid, exc, result.traceback),
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue