2015-06-19 34 views
7

Theo như tôi có thể biết, aiohttp hiện là tham chiếu cho máy chủ web được xây dựng trên asyncio. Trong khi đó là một tác phẩm ấn tượng, nó không hoàn toàn phù hợp với sở thích đặc biệt của tôi: Ngoài việc là một máy chủ web, nó còn là một khuôn khổ cho các ứng dụng web (với định tuyến và mọi thứ), cộng với API khá đẳng cấp nặng.máy chủ web asyncio nhẹ

Tôi muốn một cái gì đó là chỉ máy chủ HTTP, cung cấp giao diện tối thiểu (về cơ bản là tương đương WSGI không đồng bộ). Liệu một điều như vậy đã tồn tại?

+0

[asyncio.org] (http://asyncio.org), mà bạn thực sự liên kết trong câu hỏi của bạn, lần lượt lên [aiowsgi] (https://aiowsgi.readthedocs.org/en/latest/), có vẻ như nó có thể phù hợp với hóa đơn. – dano

+0

Tôi đã thấy điều đó, nhưng thật khó để đánh giá xem nó có phải là một thử nghiệm hay không: Không có nhiều hoạt động trên repo GitHub - mà không nhất thiết là một điều xấu, nhưng một số nhận xét ngang hàng chắc chắn sẽ giúp ích. – AnC

+1

Chỉ cần lưu ý rằng việc chặn WSGI trên một máy chủ web không đồng bộ có thể có vấn đề. Nếu yêu cầu WSGI chạy trong cùng một luồng với vòng lặp không đồng bộ, nó sẽ chặn vòng lặp không đồng bộ. Về cơ bản, bạn có một máy chủ WSGi chỉ có thể xử lý một yêu cầu tại một thời điểm. Đối với một máy chủ/bài đăng, bạn sẽ tốt hơn khi xem 'waitress' nếu muốn có giao diện WSGI nhưng một số lợi ích cơ bản trên máy chủ web không đồng bộ. –

Trả lời

4

Vâng, bạn có thể thử mức thấp aiohttp.server thay vì aiohttp.web.

Không có tuyến đường, phần mềm trung gian và các nội dung cấp cao khác. Nhưng bạn phải làm việc với aiohttp trừu tượng ở mức độ thấp như nhắn, tải trọngphản ứng.

+0

Cảm ơn - cho rằng dường như không có bất kỳ lựa chọn thay thế nào (chưa?), Đây có lẽ là lựa chọn tốt nhất của tôi. – AnC