Web app for Scrapyd cluster management, Scrapy log analysis & visualization, Auto packaging, Timer tasks, Monitor & Alert, and Mobile UI. DEMO :point_right:
Describe the bug:
Python version 3.6.
Using docker container python:3.6
APScheduler 3.10.0 causing 500 errors on fresh installation. The stacktrace looked like it was something related to SQLAlchemy/Flask-SQLAlchemy. Please see the stacktrace below:
To Reproduce:
I had the following Python package versions installed:
scrapydweb_1 | [2023-02-01 20:44:49,159] ERROR in scrapydweb: Exception on / [GET]
scrapydweb_1 | Traceback (most recent call last):
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/selectable.py", line 2920, in __init__
scrapydweb_1 | cols_present = bool(columns)
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 516, in __bool__
scrapydweb_1 | raise TypeError("Boolean value of this clause is not defined")
scrapydweb_1 | TypeError: Boolean value of this clause is not defined
scrapydweb_1 |
scrapydweb_1 | During handling of the above exception, another exception occurred:
scrapydweb_1 |
scrapydweb_1 | Traceback (most recent call last):
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2073, in wsgi_app
scrapydweb_1 | response = self.full_dispatch_request()
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1518, in full_dispatch_request
scrapydweb_1 | rv = self.handle_user_exception(e)
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1516, in full_dispatch_request
scrapydweb_1 | rv = self.dispatch_request()
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1502, in dispatch_request
scrapydweb_1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/flask/views.py", line 83, in view
scrapydweb_1 | self = view.view_class(*class_args, **class_kwargs) # type: ignore
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/scrapydweb/views/index.py", line 10, in __init__
scrapydweb_1 | super(IndexView, self).__init__()
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/scrapydweb/views/baseview.py", line 218, in __init__
scrapydweb_1 | for job in self.scheduler.get_jobs(jobstore='default'))
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/apscheduler/schedulers/base.py", line 574, in get_jobs
scrapydweb_1 | jobs.extend(store.get_all_jobs())
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/apscheduler/jobstores/sqlalchemy.py", line 89, in get_all_jobs
scrapydweb_1 | jobs = self._get_jobs()
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/apscheduler/jobstores/sqlalchemy.py", line 141, in _get_jobs
scrapydweb_1 | selectable = select(self.jobs_t.c.id, self.jobs_t.c.job_state).\
scrapydweb_1 | File "<string>", line 2, in select
scrapydweb_1 | File "<string>", line 2, in __init__
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py", line 130, in warned
scrapydweb_1 | return fn(*args, **kwargs)
scrapydweb_1 | File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/selectable.py", line 2923, in __init__
scrapydweb_1 | "columns argument to select() must "
scrapydweb_1 | sqlalchemy.exc.ArgumentError: columns argument to select() must be a Python list or other iterable
After downgrading APScheduler no longer seeing the problem and the webserver can start up without 500 errors. I hope this can help somebody in the future trying to set this up.
Describe the bug: Python version 3.6. Using docker container
python:3.6
To Reproduce: I had the following Python package versions installed:
Stacktrace::
The fix: Downgrade APScheduler to 3.9.1
After downgrading APScheduler no longer seeing the problem and the webserver can start up without 500 errors. I hope this can help somebody in the future trying to set this up.