Đã lâu rồi kể từ lần cuối tôi sử dụng tính năng nền trong Rails. Tôi đã sử dụng backgroundrb và bj trước đây. Có điều gì khác để quản lý các tác vụ nền tốt hơn không? (! Chưa)Thư viện quản lý công việc nền tảng tốt nhất cho Rails là gì?
Trả lời
Tôi đã sử dụng bj trong quá khứ với thành công. Tuy nhiên, gần đây tôi đã nghe những điều tốt đẹp về Delayed Job. Những nơi như Heroku đang cung cấp nó.
Tôi đã kết thúc với bj. Tuy nhiên, với đường ray 2.1+ có một số vấn đề với múi giờ. Để khắc phục nó, bạn phải sửa đổi một số mã trình cắm thêm. – manlycode
Mặc dù tôi đã không sử dụng nó job_fu trông thật sự đầy hứa hẹn:
http://github.com/jnstq/job_fu/tree/master
Đó là dai dẳng và sử dụng DB cho hàng đợi của nó.
Bạn nên kiểm tra 'Bất cứ khi nào', đó là một người quản lý công việc định kỳ, sử dụng rất thoải mái & cú pháp sạch:
Spawn đã làm việc rất tốt cho tôi. API đơn giản như bạn có thể nhận được. Trong bộ điều khiển hoặc phương thức mô hình dài hạn của bạn:
spawn do
logger.info("I feel sleepy...")
sleep 11
logger.info("Time to wake up!")
end
Spawn cung cấp cả việc rèn và luồng, tùy thuộc vào việc bạn đang cố gắng làm. Nó cũng dường như được duy trì tích cực bởi tác giả của nó.
Starling và workling là combo tốt. Tôi biết Starling có một rap tốt với toàn bộ điều twitter, nhưng đối với hầu hết các ứng dụng đường ray thì nó vẫn ổn. Ngoài ra với Workling bạn không phải sử dụng Starling làm hàng đợi, nó cũng sử dụng công cụ AMQP, nhưng điều này dễ dàng được tích hợp vào một môi trường sử dụng EventMachine, như mỏng hoặc Evented Mongrel, vì vậy nếu bạn đang sử dụng khó khăn. Điều này có nghĩa là nếu bạn muốn sử dụng AMQP, bạn có thể sử dụng các hàng đợi nhanh như RabbitMQ, và nếu bạn muốn sử dụng hàng đợi đó thì có nhiều cách khác để tích hợp với nó, Carrot và Warren đến với tâm trí.
Tôi thích Starling và Workling, đã chết đơn giản để thiết lập và thực sự dễ sử dụng. Tìm thông tin here trên github.
Có lẽ có một cái nhìn tại Skynet:
tôi người bạn đã sử dụng nó và có vẻ như, dễ cài đặt và rất mạnh mẽ.
Ben ...
Tìm thấy trình bày này: http://www.scribd.com/doc/2589535/Handling-LongRunning-Tasks-in-Rails Nó đã làm một bên bằng cách so sánh bên của thư viện hiện có . Tôi nghĩ rằng tôi có thể dính w/bj sau khi đọc này. – manlycode