2015-08-24 67 views
0

我已經構建了允許客戶端抓取鏈接的CRUD應用程序。當客戶端點擊一個按鈕時,軌道轉到控制器並運行腳本(我可以看到終端中的所有活動),但前端沒有反饋。另外,腳本運行時,用戶無法訪問網站上的任何其他頁面。如何在未鎖定瀏覽器的情況下使用Rails處理請求

我的腳本可能需要很長時間,所以我希望客戶端能夠點擊一個按鈕,重定向到另一個頁面並啓動過程。用戶可以根據需要離開頁面。

我也想通過某種方式在完成後向用戶發送電子郵件。

我的後端能夠同時運行多個任務嗎?

回答

0

你需要一個後臺工作者。這個想法是當用戶「點擊一個按鈕」時啓動工作,然後讓後臺工作者在用戶可以繼續瀏覽的同時執行艱苦的工作。

最後通知用戶(電子郵件或其他方式),並可以訪問作業結果。

當然,幾個工人可以同時工作。

看一看sidekiqresquedelayed_job

+0

謝謝,任何一個更多的初學者比其他人更友好? – josh

+0

不是,它們都非常易於使用,但理解起來相當複雜。把你的時間和閱讀他們的文件,這是有據可查的。我個人喜歡sidekiq。 – Benj

+0

也許這可以幫助https://ryanboland.com/blog/writing-your-first-background-worker/ – Benj

0

你可以試試EventMachine的,如果你使用的是支持服務器(薄的,例如)

EM.next_tick{ p "hello, it's next tick!"} 

公司將asyncronously印刷

相關問題