Code Monkey home page Code Monkey logo

ditef's Issues

DiTEF: Security

The task router should currently not be hosted publicly because of 1. the unencrypted HTTP server, 2. missing authentication, 3. missing hardening

Possible solutions for encryption and authentication: SSH, mutual TLS, Let's Encrypt, own PKI

DiTEF: Unexpected ReadTimeout

While leaving the task-worker running for a long time, I got this error message (unknown cause):

Traceback (most recent call last):
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1347, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 268, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 531, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
    raise value
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 447, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=8080): Read timed out. (read timeout=1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "nao/tools/machine-learning/venv/bin/task-worker", line 8, in <module>
    sys.exit(main())
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/task_worker/__init__.py", line 141, in main
    result_response = requests.post(
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "nao/tools/machine-learning/venv/lib/python3.8/site-packages/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='localhost', port=8080): Read timed out. (read timeout=1)

DiTEF: Router API/UI

We want to have a UI for the router internals (queue status, evaluator status, etc.). One idea is to expose an API which e.g. the genetic algorithm can consume to show its own specialized UI.

DiTEF: Genetic algorithm UI doesn't show errors

The genetic algorithm UI currently doesn't show any error messages when requests to the server fail.
I propose some kind popup message when a user interaction causes a failing request and a status message box (maybe below the update interval setting) at the top when the last periodic refresh request failed.

DiTEF: Installation documentation missing

We need an installation script or documentation of the steps to install e.g. the distributed evolver.

All Python modules must be installed via:

pip install generic/...

Developers may want to use --editable within the above command.

DiTEF: Worker exception handling

Exceptions that occur in DiTEF Workers should be handed through back to the Task Producers in a standardized way to be handled there centrally.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.