mirror of
https://github.com/django-q2/django-q2.git
synced 2026-10-09 06:58:12 +08:00
Adds tracebacks in error logs @strets123
This commit is contained in:
+17
-17
@@ -4,32 +4,32 @@ from __future__ import division
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
# external
|
||||||
|
import arrow
|
||||||
|
import ast
|
||||||
# Standard
|
# Standard
|
||||||
import importlib
|
import importlib
|
||||||
import signal
|
import signal
|
||||||
import socket
|
import socket
|
||||||
import ast
|
import traceback
|
||||||
from time import sleep
|
|
||||||
from multiprocessing import Event, Process, Value, current_process
|
|
||||||
|
|
||||||
# external
|
|
||||||
import arrow
|
|
||||||
|
|
||||||
# Django
|
# Django
|
||||||
|
from django import db
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django import db
|
from multiprocessing import Event, Process, Value, current_process
|
||||||
|
|
||||||
# Local
|
# Local
|
||||||
from django_q import tasks
|
from django_q import tasks
|
||||||
|
from django_q.brokers import get_broker
|
||||||
from django_q.compat import range
|
from django_q.compat import range
|
||||||
from django_q.conf import Conf, logger, psutil, get_ppid, error_reporter, rollbar
|
from django_q.conf import Conf, logger, psutil, get_ppid, error_reporter, rollbar
|
||||||
from django_q.models import Task, Success, Schedule
|
from django_q.models import Task, Success, Schedule
|
||||||
|
from django_q.queues import Queue
|
||||||
|
from django_q.signals import pre_execute
|
||||||
from django_q.signing import SignedPackage, BadSignature
|
from django_q.signing import SignedPackage, BadSignature
|
||||||
from django_q.status import Stat, Status
|
from django_q.status import Stat, Status
|
||||||
from django_q.brokers import get_broker
|
|
||||||
from django_q.signals import pre_execute
|
|
||||||
from django_q.queues import Queue
|
|
||||||
|
|
||||||
|
|
||||||
class Cluster(object):
|
class Cluster(object):
|
||||||
@@ -287,7 +287,7 @@ def pusher(task_queue, event, broker=None):
|
|||||||
try:
|
try:
|
||||||
task_set = broker.dequeue()
|
task_set = broker.dequeue()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error(e, traceback.format_exc())
|
||||||
# broker probably crashed. Let the sentinel handle it.
|
# broker probably crashed. Let the sentinel handle it.
|
||||||
sleep(10)
|
sleep(10)
|
||||||
break
|
break
|
||||||
@@ -298,7 +298,7 @@ def pusher(task_queue, event, broker=None):
|
|||||||
try:
|
try:
|
||||||
task = SignedPackage.loads(task[1])
|
task = SignedPackage.loads(task[1])
|
||||||
except (TypeError, BadSignature) as e:
|
except (TypeError, BadSignature) as e:
|
||||||
logger.error(e)
|
logger.error(e, traceback.format_exc())
|
||||||
broker.fail(ack_id)
|
broker.fail(ack_id)
|
||||||
continue
|
continue
|
||||||
task['ack_id'] = ack_id
|
task['ack_id'] = ack_id
|
||||||
@@ -380,7 +380,7 @@ def worker(task_queue, result_queue, timer, timeout=Conf.TIMEOUT):
|
|||||||
res = f(*task['args'], **task['kwargs'])
|
res = f(*task['args'], **task['kwargs'])
|
||||||
result = (res, True)
|
result = (res, True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
result = ('{}'.format(e), False)
|
result = ('{} : {}'.format(e, traceback.format_exc()), False)
|
||||||
if error_reporter:
|
if error_reporter:
|
||||||
error_reporter.report()
|
error_reporter.report()
|
||||||
if rollbar:
|
if rollbar:
|
||||||
@@ -540,11 +540,11 @@ def scheduler(broker=None):
|
|||||||
# log it
|
# log it
|
||||||
if not s.task:
|
if not s.task:
|
||||||
logger.error(
|
logger.error(
|
||||||
_('{} failed to create a task from schedule [{}]').format(current_process().name,
|
_('{} failed to create a task from schedule [{}]').format(current_process().name,
|
||||||
s.name or s.id))
|
s.name or s.id))
|
||||||
else:
|
else:
|
||||||
logger.info(
|
logger.info(
|
||||||
_('{} created a task from schedule [{}]').format(current_process().name, s.name or s.id))
|
_('{} created a task from schedule [{}]').format(current_process().name, s.name or s.id))
|
||||||
# default behavior is to delete a ONCE schedule
|
# default behavior is to delete a ONCE schedule
|
||||||
if s.schedule_type == s.ONCE:
|
if s.schedule_type == s.ONCE:
|
||||||
if s.repeats < 0:
|
if s.repeats < 0:
|
||||||
|
|||||||
Reference in New Issue
Block a user