Skip to content

Tracking issue for using hyper web server in production #2204

Closed
@jtgeibel

Description

@jtgeibel

There are several open issues that need to be addressed before we can enable hyper in production:

  • The default number of threads used in development mode needs to be increased to make the site usable locally (I tried 4 and it seemed to work ok)
  • Using thread::sleep in a controller function appeared to be blocking other requests, and this wasn't the expected behavior when using tokio::task::spawn_blocking
  • Work in progress: Release some improvements to the conduit crates that allow for a better implementation in conduit-hyper when serving static files. conduit-rust/conduit@0deff5b
  • Fix sub-categories. : comes through as %3A, resulting in a 404. Bump to latest release of conduit-hyper #2533
  • Switch to USE_HYPER=1 on production!

Cleanup:

  • Switch to hyper by default, so that local development aligns with production.
  • Eventually remove dependency on civet.

Old

  • I want to add a callback that gives the application a chance to handle a request async if the count of background threads is exceeded. This would potentially let us handle a download redirect instead of rejecting those requests due to exceeding our thread count capacity. Update: Because the download endpoint needs at least a read-only database connection, this isn't a short-term goal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-backend ⚙️C-tracking-issueCategory: A tracking issue for an RFC, an unstable feature, or an issue made of many parts

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions