spotify / drserv Goto Github PK
View Code? Open in Web Editor NEWRESTful service for publishing packages to debian repositories
License: Apache License 2.0
RESTful service for publishing packages to debian repositories
License: Apache License 2.0
Whenever I start working with a new server, I like doing a little async benchmark:
thiderman@justitia ~/spotify/drserv venv:drserv(master)
> for x in {0..5}
do echo "starting $x" && time drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa --auth-user=test --major-dist=squez --minor-dist=unstable --component=pls /tmp/spotify-teamcity_8.1.4-1~0.0.0.50.8.0.3.0+10-38-g3ecc524.101_all.deb &
done
starting 0
starting 1
starting 2
starting 3
starting 4
starting 5
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.24s user 0.03s system 2% cpu 10.353 total
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.23s user 0.03s system 1% cpu 20.373 total
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.28s user 0.01s system 0% cpu 30.394 total
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.27s user 0.03s system 0% cpu 40.413 total
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.26s user 0.02s system 0% cpu 50.426 total
drserv-client --url http://localhost:3300 --key-file=test/pubkeys/id_rsa 0.24s user 0.03s system 0% cpu 1:00.44 total
As you can see, every upload is blocking and the last one takes a full minute. Hence, there is no asynchronicity!
There are two feasible ways of solving this:
gevent.monkeypatch()
. This is ugly and doesn't always work.I personally vote for the latter!
Not sure it isn't already, but if it isn't, can you (for some value of "you") please enable Travis integration for this repo?
As the [http://www.pathname.com/fhs/](FHS 2.3) states:
An application (or a group of inter-related applications) must use a subdirectory of /var/lib for its data.`
/home is definitely not right for this. One might argue that /srv/NAME fits the bill, but /var/lib is better IMO.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.