Tôi đang viết một ứng dụng bằng Ruby và thư viện Eventmachine. Tôi thực sự thích ý tưởng của I/O không bị chặn và các hệ thống điều khiển sự kiện, vấn đề tôi đang gặp phải là ghi nhật ký. Tôi đang sử dụng thư viện logger chuẩn của Ruby. Nó không phải là đăng nhập mất mãi mãi nhưng nó có vẻ giống như một cái gì đó mà không nên chặn và nó. Có một thư viện ở đó một nơi nào đó mà mở rộng thực hiện logger tiêu chuẩn của Ruby để không bị chặn hoặc tôi chỉ nên gọi EM :: trì hoãn cho các cuộc gọi đăng nhập của tôi? Có cách nào tôi có thể làm cho eventmachine làm điều này cho tôi?Làm thế nào để đăng nhập với Ruby và eventmachine?
Trả lời
tôi đã kết thúc gói các logger trong một lớp singleton rằng started a thread và có một hàng đợi FIFO. Ghi nhật ký sẽ đổ thông tin nhật ký vào hàng đợi và chuỗi chỉ được lặp lại, kéo công cụ ra khỏi hàng đợi và sử dụng trình ghi nhật ký thực để ghi nhật ký. Không thực sự mô hình lò phản ứng nhưng nó sẽ không nhai lên hồ bơi thread EM của tôi hoặc.
Với singleton này, bạn chỉ có thể có một logger nhưng đây là những gì tôi đã làm trên github.
bạn có thể chia sẻ một số mã không? –
Liên kết đến những gì tôi đã đưa lên github. Bạn đã cho tôi để đi mã nguồn mở! =) – Justin
Có một gem đăng nhập không sinh ra các luồng, và thay vào đó có sử dụng xử lý không đồng bộ gốc với các cuộc gọi lại không? –
Nếu bạn đang ở trên một hệ thống với Syslog bạn có thể có một cái nhìn tại EM-Syslog
- 1. đăng nhập ruby
- 2. Cách viết các tập tin (lớn) với Ruby Eventmachine
- 3. Giao tiếp giữa Rails và Ruby EventMachine Process
- 4. Làm thế nào để bắt lỗi cấp cao nhất trên máy chủ EventMachine?
- 5. Làm thế nào để đăng nhập ngoại lệ trong JavaScript
- 6. Ruby on Rails: Cách tốt nhất để thêm đăng nhập Facebook, đăng nhập Twitter, đăng nhập OpenID, v.v.
- 7. Làm thế nào để ngăn chặn cắt tập tin đăng nhập với mô-đun đăng nhập python?
- 8. Làm thế nào để Digitally "Đăng nhập" một tài liệu
- 9. Làm thế nào để đăng nhập truy vấn SQL CoreData?
- 10. Tích hợp EventMachine & Rails như thế nào?
- 11. Làm thế nào để bạn nắm bắt ngoại lệ trong một cài đặt EventMachine?
- 12. Làm thế nào để đăng nhập đại lý con rối và làm chủ
- 13. Làm thế nào để sử dụng AOP với AspectJ để đăng nhập?
- 14. Hệ thống Đăng nhập/Đăng ký với php và mysql
- 15. Làm cách nào để đăng nhập mọi phương thức được gọi trong chương trình Ruby?
- 16. Webapp2 để xác thực và đăng nhập
- 17. Làm thế nào để vượt qua trang đăng nhập với Wget?
- 18. đăng nhập với cURL
- 19. Làm thế nào để đăng nhập đúng http yêu cầu với Spring MVC
- 20. làm thế nào để đăng nhập tên phương pháp khi sử dụng lớp wrapper với Log4net
- 21. Đăng nhập với Linkedin
- 22. Đóng phiên và chuyển hướng để đăng nhập vào Ruby on Rails
- 23. Làm thế nào để kiểm tra đăng nhập json trong lập với rspec
- 24. Làm thế nào Orchard CMS thực hiện việc đăng nhập?
- 25. Làm thế nào để nắm bắt tốt nhất và đăng nhập đầu ra scp?
- 26. Làm cách nào để đặt đăng nhập Ruby Sequel thành cấp DEBUG?
- 27. EventMachine và Twitter streaming API
- 28. Làm thế nào để đăng nhập với pantheios vào một tập tin?
- 29. Làm thế nào để đăng nhập trong móc tắt máy với Log4j2?
- 30. Làm thế nào để có được dấu vết Stack khi đăng nhập ngoại lệ với NLog?
Bạn có cố gắng ủy quyền ghi nhật ký cho một chuỗi mới không? – AndrewKS
Đó là những gì EM :: trì hoãn sẽ cho phép tôi làm nhưng tôi đang tìm cách tránh nó. – Justin