| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
AuthenticationApp (just removed) was the only code that had any interaction with
this functionality. That is, check_login looked for an environment variable
"be-auth.user" that was only ever set by AuthenticationApp.
|
|
|
|
|
| |
The implementation of this option contained syntax errors and did not work. For
more information, see https://gitlab.com/bugseverywhere/bugseverywhere/issues/7.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also raise UnknownCommand if there is no `command` key in the posted
dict (malformed request).
With the new code, you can run commands with:
$ wget --post-data='command: list' http://localhost:8000/run/
instead of having to go through and specify all the parameters
explicitly. This will make the command server more robust for use
with older clients (who may not know about all the parameters that the
server knows about). Parameters sent by the client that the server
does not know about are silently ignored.
|
|
|
|
|
|
|
|
|
|
| |
This will help avoid confusion between
be serve-storage
and
be serve-commands
|
| |
|
| |
|
|
This is an initial step towards improving BE's efficiency.
Previously, BE gets slow as the bug count increases for several
commands (e.g. `be list`), because it takes time to load the bugdir
information from disk at each invocation. If you use a remote repo
(`be --repo http://localhost:8000/ list`), the server process may have
already loaded the repo from disk, but now your listing process has to
fetch everything over the wire. This is even worse than loading it
from disk.
With the new `be serve-commands` and `be --server URL ...` pair, the
bugdir loading happens once on the server, and all the processing is
also carried out on the server. This means that calls like `be
--server http://localhost:8000/ list` will scale much better than
other methods. For example:
$ time be --server http://localhost:8000/ list > /dev/null
real 0m2.234s
user 0m0.548s
sys 0m0.114s
$ time be --server http://localhost:8000/ list > /dev/null
real 0m0.730s
user 0m0.548s
sys 0m0.112s
$ time be list > /dev/null
real 0m2.453s
user 0m2.289s
sys 0m0.166s
$ time be list > /dev/null
real 0m2.521s
user 0m2.350s
sys 0m0.172s
The first call to a cold server takes about the same time as a local
call, because you need to load the bugs from the filesystem. However,
later calls to a warm server are 3x faster, while later local calls
are still slow.
This is currently a minimal working implementation. There's a good
deal of code in libbe.command.serve that I'd like to abstract out into
a libbe.util library (since there's still a bunch of duplication
between libbe.command.serve and libbe.command.serve_commands). The
remote calls are also not as fast as I'd like, likely due to library
load times. This commit just locks in an initial working
implementation.
|