Changelog
* a872309 Abort prediction on a failed healthcheck event
* 5f51a96 Add --await-explicit-shutdown option to HTTP server
* 8aeb7f1 Add `--redis-url` argument for connecting to redis from URL Signed-off-by: Brandon Berhent <bbedwardgmail.com>
* 1f80fe8 Add a "starting" state for predictions
* bb2baf1 Add a healthcheck endpoint to cog HTTP server
* 3418f8a Add asynchronous create prediction endpoint
* 4753da9 Add cancel prediction endpoint
* 6c206c9 Add cog.director for coordinating predictions
* d86938f Add missing FileUploadError
* f90078f Add missing continue during health confirmation
* 047567a Add some more logging for cancels and time outs
* 3106496 Add webhook_caller_filtered
* 371a562 Add webhooks to HTTP server predictions
* 0a81808 Allow requesting health status explicitly
* b02b3f6 Attempt to improve cooperative shutdown
* 6fa42f5 Bind context for director logs while handling prediction
* 0068f06 Bump numpy to support Python 3.11
* c4e6920 Bump to 64 cores
* 4645c31 Create event handler in PredictionRunner
* 9b710a5 Dampen down the noise from library loggers
* 6e773bc Decouple webserver lifecycle from director
* fb8f377 Don't allow updates for the wrong prediction
* 8dc78e4 Don't duplicate tests in PRs
* b8cab4b Don't guess at a free port, let the OS pick one
* 3b316bb Don't trust model container's timestamps
* c25d007 Ensure backwards-compatible file uploads
* b3f0ef6 Extend CANCEL_WAIT to 30s
* 0a128c9 Extend prediction create timeout to 5s
* 80a1c30 Fix async endpoint test for start webhooks
* 3aad265 Fix openapi schema generation
* 2a10398 Fix some types and clean up some imports
* 85b0aa8 Fix tests for python 3.7
* 56fa616 Fix up setup run reporting
* 08668a1 Fixed a problem with OpenAPI spec generation
* d16f972 Flesh out director logging
* 9284718 Flesh out model container logging
* 975ad2e Fully invert control between QueueWorker and the webserver
* 12825f9 Handle failure/success reporting correctly
* a9b5c40 Handle file uploads to PUT endpoint from HTTP server
* 996a22f Handle prediction timeouts
* 498ae09 Handle validation errors and failures to cancel
* fa4b3fe Implement PredictionRunner.cancel()
* 85e6caf Invert control of webserver
* 90b5da1 Loosen OpenAPI spec assertion for FastAPI 0.89.0
* 0fe74e2 Make empty logs an empty string, not None
* 347bdd3 Make the abort message required
* 158d663 Move model healthchecking into own thread
* 228ea78 Only check if succeeded if terminal check passes
* 907be82 Only set content type headers if there is a content type to set
* 4bb172c Only set started_at after prediction has started
* 00a0b9e Preserve prediction status after slow cancelation
* ef02a2c Properly crash the container when predict thread errors
* 999f6c7 Reclassify FIXME and TODOs
* a1c588c Refactor redis queue tests
* 2a1cf58 Reimplement max_failure_count in Director
* d31d6e4 Remove Redis XAUTOCLAIM and ack messages whenever possible
* 39c8763 Remove extra response properties from webhook body
* f916be9 Remove unnecessary _last_result variable
* dc1449f Remove unused model_id and log_queue parameters
* 8805a5f Rename QueueWorker to Director
* b0a1e2a Rename shutdown to start_shutdown to avoid name collision
* 73a845e Report setup runs from director
* f17eeae Request and wait for an explicit healthcheck before each prediction
* 8e647e3 Retry file upload requests
* d9edff4 Return 0 runtime duration if prediction hasn't started
* 2372e28 Revert "Add `--redis-url` argument for connecting to redis from URL"
* 90e34eb Revert "Bump to 64 cores"
* ebc3a2a Revert "Revert "Add `--redis-url` argument for connecting to redis from URL""
* 9687042 Revert how COG_VERSION is set in cog Makefile target
* 606aac2 Run Python tests in parallel
* df9c3ab Run integration tests in parallel
* bc681c2 SIGKILL when http server receives shutdown call
* 4c2e419 Send webhooks from HTTP runner
* 85ec456 Set default timeouts for file uploads
* 0fab9a8 Shut down model container on graceful termination
* 5751cf7 Split director package
* cbf2088 Standardize on structlog logging
* ccba7c6 Terminate worker before waiting for thread exit
* c7d4f3f Tighten up error handling in PredictionRunner
* bf3649d Unconditionally SIGKILL when shutting down
* f75b695 Update HTTP API docs
* 7f5b598 Update README.md
* f5e5b5b Update instructions for installing cog for development
* d6963a7 Update integration tests to work with director
* 85c7d64 Use JSON logging in production
* ab79aee Use faster GitHub runners
* 8570995 cog: log prediction id
* f0b27cd update .all-contributorsrc [skip ci]
* 08f4c8f update .all-contributorsrc [skip ci]
* ff646be update README.md [skip ci]
* 7bfbb7c update README.md [skip ci]