mirror of https://github.com/rq/rq.git
Added logging trace for failed import for user-level debugging (#1494)
* Added logging trace for failed import for user-level debugging * one logging statement is enough
This commit is contained in:
parent
29d02c0798
commit
35604f9bb1
|
@ -132,12 +132,17 @@ def import_attribute(name):
|
|||
# dotted path is not the last-before-end word
|
||||
# E.g.: package_a.package_b.module_a.ClassA.my_static_method
|
||||
# Thus we remove the bits from the end of the name until we can import it
|
||||
#
|
||||
# Sometimes the failure during importing is due to a genuine coding error in the imported module
|
||||
# In this case, the exception is logged as a warning for ease of debugging.
|
||||
# The above logic will apply anyways regardless of the cause of the import error.
|
||||
while len(module_name_bits):
|
||||
try:
|
||||
module_name = '.'.join(module_name_bits)
|
||||
module = importlib.import_module(module_name)
|
||||
break
|
||||
except ImportError:
|
||||
logging.warning("Import error for '%s'" % module_name, exc_info=True)
|
||||
attribute_bits.insert(0, module_name_bits.pop())
|
||||
|
||||
if module is None:
|
||||
|
|
Loading…
Reference in New Issue