-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
When you launch something from celery task, stdout and stderr are proxyfied with LoggingProxy object (See doc). This object doesn't have encoding nor buffer properties so when Mondrian is initialized in that context, an exception is raised (here as bonobo dependency):
[...]
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/__init__.py", line 10, in <module>
celery_1 | from bonobo._api import *
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/_api.py", line 10, in <module>
celery_1 | from bonobo.execution.strategies import create_strategy
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/strategies/__init__.py", line 9, in <module>
celery_1 | from bonobo.execution.strategies.executor import ProcessPoolExecutorStrategy, ThreadPoolExecutorStrategy
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/strategies/executor.py", line 7, in <module>
celery_1 | from bonobo.execution.strategies.base import Strategy
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/strategies/base.py", line 1, in <module>
celery_1 | from bonobo.execution.contexts.graph import GraphExecutionContext
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/contexts/__init__.py", line 8, in <module>
celery_1 | from bonobo.execution.contexts.graph import GraphExecutionContext
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/contexts/graph.py", line 9, in <module>
celery_1 | from bonobo.execution.contexts.node import NodeExecutionContext
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/contexts/node.py", line 12, in <module>
celery_1 | from bonobo.execution.contexts.base import BaseContext
celery_1 | File "/code/venv/lib/python3.6/site-packages/bonobo/execution/contexts/base.py", line 6, in <module>
celery_1 | from mondrian import term
celery_1 | File "/code/venv/lib/python3.6/site-packages/mondrian/__init__.py", line 23, in <module>
celery_1 | if sys.stdout.encoding is None or sys.stdout.encoding == "ANSI_X3.4-1968":
celery_1 | AttributeError: 'LoggingProxy' object has no attribute 'encoding'
If think this issue is relate to #16
This code is problematic
Line 21 in 15ea7b9
| # Patch standard output/error if it's not supporting unicode |
Metadata
Metadata
Assignees
Labels
No labels