Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 140
    • Merge requests 140
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !883

Merged
Created Jun 03, 2019 by Bryton Lacquement@bminusl🚪Contributor

Add WSGI support

  • Overview 62
  • Commits 7
  • Changes 15

This first work on WSGI is only to stop using ZServer (Medusa), which is a required step before moving to Zope 4. This means that Zope should behave almost exactly the same way as before, notably:

  • We don't take advantage yet of what WSGI offers, like IPv6.
  • There's extra code to handle errors the same way as before (this is something we'll have to change for Zope 4).

The most significant change in behaviour is that the chosen WSGI server (waitress) does some of the HTTP work in worker threads (Medusa does it entirely in the IO thread), and the biggest consequence concerns the deadlock debugger that is now run from the worker thread:

  • it does not work if all threads are blocked
  • doing better would require to patch waitress in a quite ugly way

About TimerService, we simplify things by removing the egg. In zope.conf, it's possible to import from the product.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: wsgi
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7