wait for a browser to become available and start it up before reading the next url from amqp; ack the message only after completing the browsing process successfully, and requeue if it's not successful; some refactoring to make the timing work for this
get rid of --browser-wait and --routing-key in favor of sensible defaults, some other tweaks
close and reopen the amqp consumer connection only every 2.5 hours instead of every 15 minutes, because now that we have to wait for all browsers to close when we do the reconnection, it slows us down a lot
get rid of chrome_wait straggler
more elaborate dumping of state on SIGQUIT to replace faulthandler
when dumping state on SIGQUIT, build the whole string before printing to avoid stuff getting intermingled with other logging and stuff
seriously, don't try to wrap any lines, pprint
ugh, it was better with the default width, in spite of the ridiculous behavior.script
do not wait forever for zombie websocket threads (this change should also reveal how we get these sometimes)
kill -HUP to immediately close and reopen amqp consumer connection
set amqp prefetch count to the number of urls we can handle at a time, i.e. max_active_browsers (with prefetch=1 umbra was only browsing one url at a time, after quickly burning through urls already on the queue when started)
Merge pull request #26 from nlevitt/dev

stability!
reject (discard) bad messages
Merge pull request #29 from nlevitt/handle-bad-message

reject (discard) bad messages