jgalar/CanadianTracker

Web: price plot no longer shown

Closed this issue · 3 comments

Plots are not showing, while we get this exception on the server side:

Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]: ValueError: Invalid isoformat string: '2022-03-22 00:15:40.862310'
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]: ERROR:uvicorn.error:Exception in ASGI application
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]: Traceback (most recent call last):
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 366, in run_asgi
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     result = await app(self.scope, self.receive, self.send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/applications.py", line 261, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await super().__call__(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await self.middleware_stack(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 181, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await self.app(scope, receive, _send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await self.app(scope, receive, sender)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     raise e
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await route.handle(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 61, in app
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     response = await func(request)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     raw_response = await run_endpoint_function(
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return await dependant.call(**values)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/CanadianTracker/src/canadiantracker/http.py", line 80, in api_skus_samples
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return [serialize_product_info_sample(sample) for sample in sku.samples]
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 562, in __get__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return self.impl.get(state, dict_)  # type: ignore[no-any-return]
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1075, in get
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     value = self._fire_loader_callables(state, key, passive)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1110, in _fire_loader_callables
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return self.callable_(state, passive)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 948, in _load_for_state
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return self._emit_lazyload(
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/applications.py", line 261, in __call__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 1115, in _emit_lazyload
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     result = result.unique().scalars().all()
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1774, in all
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return self._allrows()
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 530, in _allrows
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     rows = self._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1676, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return self._real_result._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 2291, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return list(self.iterator)
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 190, in chunks
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     fetch = cursor._raw_all_rows()
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in _raw_all_rows
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in <listcomp>
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 24, in sqlalchemy.cyextension.resultproxy.BaseRow.__init__
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]:   File "lib/sqlalchemy/cyextension/processors.pyx", line 45, in sqlalchemy.cyextension.processors.str_to_date
Feb 15 14:24:39 vps-c0ce24d7 start.sh[7607]: ValueError: Invalid isoformat string: '2022-03-22 00:15:40.862310'
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await super().__call__(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.middleware_stack(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 181, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, _send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, sender)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise e
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await route.handle(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 61, in app
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     response = await func(request)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raw_response = await run_endpoint_function(
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return await dependant.call(**values)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/CanadianTracker/src/canadiantracker/http.py", line 80, in api_skus_samples
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [serialize_product_info_sample(sample) for sample in sku.samples]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 562, in __get__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self.impl.get(state, dict_)  # type: ignore[no-any-return]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1075, in get
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     value = self._fire_loader_callables(state, key, passive)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1110, in _fire_loader_callables
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self.callable_(state, passive)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 948, in _load_for_state
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._emit_lazyload(
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 1115, in _emit_lazyload
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     result = result.unique().scalars().all()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1774, in all
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._allrows()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 530, in _allrows
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     rows = self._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1676, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._real_result._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 2291, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return list(self.iterator)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 190, in chunks
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     fetch = cursor._raw_all_rows()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in _raw_all_rows
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in <listcomp>
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 24, in sqlalchemy.cyextension.resultproxy.BaseRow.__init__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "lib/sqlalchemy/cyextension/processors.pyx", line 45, in sqlalchemy.cyextension.processors.str_to_date
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]: ValueError: Invalid isoformat string: '2022-03-22 00:15:40.862310'
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]: ERROR:uvicorn.error:Exception in ASGI application
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]: Traceback (most recent call last):
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 366, in run_asgi
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     result = await app(self.scope, self.receive, self.send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/applications.py", line 261, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await super().__call__(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.middleware_stack(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 181, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, _send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise exc
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, sender)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raise e
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await route.handle(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     await self.app(scope, receive, send)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/starlette/routing.py", line 61, in app
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     response = await func(request)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     raw_response = await run_endpoint_function(
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return await dependant.call(**values)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/CanadianTracker/src/canadiantracker/http.py", line 80, in api_skus_samples
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [serialize_product_info_sample(sample) for sample in sku.samples]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 562, in __get__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self.impl.get(state, dict_)  # type: ignore[no-any-return]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1075, in get
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     value = self._fire_loader_callables(state, key, passive)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1110, in _fire_loader_callables
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self.callable_(state, passive)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 948, in _load_for_state
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._emit_lazyload(
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 1115, in _emit_lazyload
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     result = result.unique().scalars().all()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1774, in all
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._allrows()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 530, in _allrows
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     rows = self._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1676, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return self._real_result._fetchall_impl()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 2291, in _fetchall_impl
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return list(self.iterator)
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 190, in chunks
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     fetch = cursor._raw_all_rows()
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in _raw_all_rows
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "/home/web/.cache/pypoetry/virtualenvs/canadiantracker-xDEsgjW9-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in <listcomp>
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:     return [make_row(row) for row in rows]
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 24, in sqlalchemy.cyextension.resultproxy.BaseRow.__init__
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]:   File "lib/sqlalchemy/cyextension/processors.pyx", line 45, in sqlalchemy.cyextension.processors.str_to_date
Feb 15 14:24:39 vps-c0ce24d7 e0c5713b68cb[751]: ValueError: Invalid isoformat string: '2022-03-22 00:15:40.862310'

I am able to reproduce locally. I bisected, it would be commit 9713101.

Ah, that fixes it:

diff --git a/src/canadiantracker/storage.py b/src/canadiantracker/storage.py
index 961cf29e9fae..0fc0f552511d 100644
--- a/src/canadiantracker/storage.py
+++ b/src/canadiantracker/storage.py
@@ -101,7 +101,7 @@ class _StorageProductSample(_Base):
     __tablename__ = "samples"
 
     index: Mapped[int] = mapped_column(primary_key=True, unique=True, index=True)
-    sample_time: Mapped[datetime.date]
+    sample_time: Mapped[datetime.datetime]
     sku_index: Mapped[int] = mapped_column(
         sqlalchemy.ForeignKey("skus.index"),
         index=True,

For context, price scraping appears to fail for the same reason:

Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     rv = self.invoke(ctx)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <Group cli>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       args = ['scrape-prices', '--db-path', '/home/scraper/db.tmp.hWUGSV/inventory.db']
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       prog_name = 'ctscraper'
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       complete_var = None
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       standalone_mode = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       windows_expand_args = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       extra = {}
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       ctx = <click.core.Context object at 0x7f69268b7820>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return _process_result(sub_ctx.command.invoke(sub_ctx))
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       _process_result = <function MultiCommand.invoke.<locals>._process_result at 0x7f6926a17f40>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       args = []
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       cmd_name = 'scrape-prices'
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       cmd = <Command scrape-prices>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       sub_ctx = <click.core.Context object at 0x7f6924f65bd0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       ctx = <click.core.Context object at 0x7f69268b7820>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <Group cli>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       __class__ = <class 'click.core.MultiCommand'>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return ctx.invoke(self.callback, **ctx.params)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <Command scrape-prices>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       ctx = <click.core.Context object at 0x7f6924f65bd0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/click/core.py", line 760, in invoke
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return __callback(*args, **kwargs)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       _Context__self = <click.core.Context object at 0x7f6924f65bd0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       _Context__callback = <function scrape_prices at 0x7f6924932440>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       args = ()
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       kwargs = {'db_path': '/home/scraper/db.tmp.hWUGSV/inventory.db', 'older_than': 1, 'discard_equal': True}
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       ctx = <click.core.Context object at 0x7f6924f65bd0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/CanadianTracker/src/canadiantracker/scraper.py", line 246, in scrape_prices
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     repository.add_product_price_samples(ledger, discard_equal)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       db_path = '/home/scraper/db.tmp.hWUGSV/inventory.db'
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       older_than = 1
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       discard_equal = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       repository = <canadiantracker.storage.ProductRepository object at 0x7f6924b05c00>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       progress_bar_settings = {'label': 'Scraping prices', 'show_pos': True, 'item_show_func': <function scrape_prices.<locals>.<lambda> at 0x7f69249f8820>, 'bar_template': ''}
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       skus = <click._termui_impl.ProgressBar object at 0x7f6924967370>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       ledger = <canadiantracker.triangle.ProductLedger object at 0x7f69249664d0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/CanadianTracker/src/canadiantracker/storage.py", line 335, in add_product_price_samples
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     .one_or_none()
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <canadiantracker.storage.ProductRepository object at 0x7f6924b05c00>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       product_infos = <canadiantracker.triangle.ProductLedger object at 0x7f69249664d0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       discard_equal = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       info = {'_raw_payload': {'code': '0052116', 'active': True, 'sellable': True, 'orderable': False, 'originalPrice': None, 'currentPrice': {'value': Decimal('110.99')}, 'displayWasLabel': False, 'badges': [], 'storeShelfLocation': None, 'fulfillment': {'availability': {'Corporate': {'bopisETA': {'MinETA': '2023-02-15T00:00:00.000Z', 'MaxETA': '2023-02-15T00:00:00.000Z'}, 
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       price = Decimal('110.99')
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       sku = _StorageSku(code=0052116, formatted_code=005-2116-4, product_index=1)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2802, in one_or_none
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return self._iter().one_or_none()  # type: ignore
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.orm.query.Query object at 0x7f69045bffd0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1803, in one_or_none
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return self._only_one_row(
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.engine.result.ScalarResult object at 0x7f690460ff10>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 733, in _only_one_row
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     row: Optional[_InterimRowType[Any]] = onerow(hard_close=True)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.engine.result.ScalarResult object at 0x7f690460ff10>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       raise_for_second_row = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       raise_for_none = False
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       scalar = False
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       onerow = <bound method FilterResult._fetchone_impl of <sqlalchemy.engine.result.ScalarResult object at 0x7f690460ff10>>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1673, in _fetchone_impl
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return self._real_result._fetchone_impl(hard_close=hard_close)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.engine.result.ScalarResult object at 0x7f690460ff10>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       hard_close = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 2280, in _fetchone_impl
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     row = next(self.iterator, _NO_ROW)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.engine.result.ChunkedIteratorResult object at 0x7f6904623e40>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       hard_close = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 190, in chunks
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     fetch = cursor._raw_all_rows()
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       size = None
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       yield_per = None
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       context = <sqlalchemy.orm.context.QueryContext object at 0x7f69249573e0>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       cursor = <sqlalchemy.engine.cursor.CursorResult object at 0x7f690462c640>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       is_top_level = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       process = (<function _instance_processor.<locals>._instance at 0x7f69045fc4c0>,)
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       single_entity = True
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in _raw_all_rows
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return [make_row(row) for row in rows]
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       self = <sqlalchemy.engine.cursor.CursorResult object at 0x7f690462c640>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       rows = [(42846876, '2023-02-03 07:25:49.647988', '16', 0, '{\'code\': \'0052116\', \'active\': True, \'sellable\': True, \'orderable\': False, \'originalPrice\': None, \'currentPrice\': {\'value\': Decimal(\'110.99\')}, \'displayWasLabel\': False, \'badges\': [], \'storeShelfLocation\': None, \'fulfillment\': {\'availability\': {\'Corporate\': {\'bopisETA\': {\'MinETA\'
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       make_row = functools.partial(<class 'sqlalchemy.engine.row.Row'>, <sqlalchemy.engine.cursor.CursorResultMetaData object at 0x7f690462c6a0>, [None, <built-in function str_to_date>, None, <built-in function int_to_boolean>, None, None], {<sqlalchemy.sql.compiler._CompileLabel object at 0x7f6904622c80>: (0, 0, (<sqlalchemy.sql.compiler._CompileLabel object at 0x7f6904622c8
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "/home/scraper/.cache/pypoetry/virtualenvs/canadiantracker-lR2ht7gH-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 522, in <listcomp>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:     return [make_row(row) for row in rows]
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       .0 = <list_iterator object at 0x7f69045bf160>
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       row = (42846876, '2023-02-03 07:25:49.647988', '16', 0, '{\'code\': \'0052116\', \'active\': True, \'sellable\': True, \'orderable\': False, \'originalPrice\': None, \'currentPrice\': {\'value\': Decimal(\'110.99\')}, \'displayWasLabel\': False, \'badges\': [], \'storeShelfLocation\': None, \'fulfillment\': {\'availability\': {\'Corporate\': {\'bopisETA\': {\'MinETA\': 
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:       make_row = functools.partial(<class 'sqlalchemy.engine.row.Row'>, <sqlalchemy.engine.cursor.CursorResultMetaData object at 0x7f690462c6a0>, [None, <built-in function str_to_date>, None, <built-in function int_to_boolean>, None, None], {<sqlalchemy.sql.compiler._CompileLabel object at 0x7f6904622c80>: (0, 0, (<sqlalchemy.sql.compiler._CompileLabel object at 0x7f6904622c8
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 24, in sqlalchemy.cyextension.resultproxy.BaseRow.__init__
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]:   File "lib/sqlalchemy/cyextension/processors.pyx", line 45, in sqlalchemy.cyextension.processors.str_to_date
Feb 15 15:42:06 vps-c0ce24d7 a6b5dd04cb05[751]: builtins.ValueError: Invalid isoformat string: '2023-02-03 07:25:49.647988'