Thay vì chạy reactor.run(), tôi muốn gọi một cái gì đó khác (I dunno, như reactor.runOnce() hoặc một cái gì đó) đôi khi trong khi duy trì vòng lặp chính của riêng tôi. Có một thực hành tốt nhất cho điều này với xoắn?Cách tốt nhất để kiểm soát lò phản ứng của Twisted để nó không bị chặn là gì?
Trả lời
Có. Thực tiễn tốt nhất là đây là một ý tưởng tồi và bạn không bao giờ thực sự cần phải làm điều đó. Nó không hoạt động với tất cả các lò phản ứng, và bạn chắc chắn không thể có hai thư viện khác nhau mà muốn làm điều này.
Tại sao bạn cần duy trì vòng lặp chính của riêng mình? Rất có thể, nó giống như "Tôi muốn làm việc với PyGame" hoặc "Tôi đang viết một chương trình GUI và tôi muốn sử dụng mainline của GTK" hoặc "Tôi đang sử dụng Twisted từ bên trong Blender và nó có xử lý sự kiện riêng". Nếu đây là trường hợp, bạn nên hỏi câu hỏi cụ thể đó, bởi vì mỗi người trong số họ có câu trả lời riêng.
Nếu bạn hoàn toàn cần làm điều này (và, một lần nữa: bạn không) cách thực hiện là gọi reactor.iterate()
theo định kỳ. Điều này sẽ chậm, xử lý tín hiệu ngắt và có ngữ nghĩa chiến thắng đối với reactor.stop()
. Nó sẽ giới thiệu rất nhiều lỗi trong chương trình của bạn mà không có mặt ở đó, và khi bạn cần trợ giúp chẩn đoán chúng, nếu bạn hỏi ai đó trong nhóm dev Twisted, điều đầu tiên họ sẽ nói với bạn là "ngừng làm việc đó, bạn don 't cần phải làm điều đó ".
- 1. Twisted + SQLAlchemy và cách tốt nhất để làm điều đó
- 2. Cách tốt nhất để đọc tệp trong ứng dụng dựa trên EventMachine là gì?
- 3. Cách tốt nhất để kiểm tra tệp để xem tệp zip của nó là gì?
- 4. Cách tốt nhất để xử lý javascript trong Kiểm soát tùy chỉnh là gì?
- 5. Cách tốt nhất để ngăn chặn gian lận trong ứng dụng thị trường là gì?
- 6. Các lò phản ứng chọn lọc/thăm dò so với epoll trong Twisted
- 7. Cách tốt nhất để kiểm tra RedirectToAction là gì?
- 8. Cách tốt nhất để kiểm tra javascript là gì?
- 9. Cách tốt nhất để tìm mã đang chặn chuỗi chính của bạn là gì?
- 10. lò phản ứng vs proactor
- 11. Cách tốt nhất để sử dụng SVN để kiểm soát phiên bản trang web PHP là gì?
- 12. là cách tốt nhất để kiểm soát vòng đời loại đối tượng kiểu trường?
- 13. Cách tốt nhất để gây ra nút Flex 3 để phản hồi phím enter là gì?
- 14. Cách tốt nhất để lưu điểm cao trên iPhone để ngăn chặn tấn công là gì?
- 15. Kiểm soát tùy chỉnh ASP.NET - Cách tốt nhất để bao gồm tham chiếu CSS nhúng chỉ một lần là gì?
- 16. Chủ đề công nhân là gì và vai trò của họ trong mẫu lò phản ứng là gì?
- 17. models.py trở nên to lớn, cách tốt nhất để phá vỡ nó là gì?
- 18. Cách tốt nhất để phiên bản ứng dụng đường ray là gì?
- 19. PHP: Cách tốt nhất để kiểm tra sự bình đẳng của $ _SERVER ['HTTP_REFERER'] là gì?
- 20. Cách tốt nhất để tạm dừng các sự kiện kiểm soát trong Windows Forms?
- 21. Cách tốt nhất để băm url trong ruby là gì?
- 22. Sản phẩm kiểm soát nguồn tốt nhất cho việc phát triển Visual Studio là gì?
- 23. Cách tốt nhất để ngăn chặn quá trình Unicorn Server chạy là gì?
- 24. Cách tốt nhất để giám sát một ứng dụng máy tính để bàn là gì?
- 25. Cách tốt nhất để bắt đầu với OSGI là gì?
- 26. Cách tốt nhất để nhận mã phản hồi HTTP từ URL là gì?
- 27. Cách tốt nhất để gỡ lỗi OpenGL là gì?
- 28. Cách tốt nhất để kiểm tra đơn vị một phương pháp không đồng bộ là gì?
- 29. Cách tốt nhất để databind một Winforms kiểm soát một loại nullable?
- 30. Cách tốt nhất để tăng một điều tra là gì?
Tôi đang làm việc với pyglet. Nó quá xấu xoắn như thế này; có vẻ như làm mọi việc dễ dàng hơn nhiều, không phải những gì tôi muốn làm. Bạn có lẽ đúng là tôi không cần phải viết chương trình của tôi bên ngoài mô hình lò phản ứng xoắn của xoắn, nhưng điều đó không thay đổi thực tế rằng nó sẽ không phải là một giải pháp rất thanh lịch đối với tôi. Tôi muốn viết lại bộ cấp thấp của riêng mình hơn là đối phó với điều đó. – shino
Điều này chỉ có nghĩa là bạn muốn pygletreactor: http://code.google.com/p/pyglet-twisted/ –
Chờ đợi - có cách nào để sử dụng lò phản ứng pyglet để tôi không ở trong mô hình điều khiển sự kiện không? Tôi không nhìn thấy nó, nhưng điều đó sẽ hoàn hảo. – shino