![](/img/trans.png)
[英]Ruby on Rails Mysql2::Error: Table 'pages' already exists: CREATE TABLE `pages` but cannot migrate back
[英]Pages stop responding with ruby on rails and mysql
我正在使用Thin Server + Ruby on Rails + Mysql,並且我有幾個cronjobs每小時都會對數據庫進行繁重的處理(腳本大約需要1-2分鍾才能完成)。
當cronjobs運行時,網站停止加載,並且僅在cronjob完成后響應。
所以我的問題是,如何使所有內容獨立,異步或並行,以便在cronjobs運行時正常加載網站。
任何與指南的鏈接或一般性建議都值得贊賞。
更新:
抱歉,我無法共享cronjob的代碼,但是基本上它可以執行數千個請求,例如:
SELECT 1 AS one FROM `table` WHERE `table`.`type_id` = BINARY '1251625345_4146645145056' LIMIT 1
然后如果前一個返回null,則插入幾千次(這意味着該條目不存在)
您的Cron工作是否要求Rails應用執行這些選擇/插入?
如果是這樣的話,
Thin是單線程Web服務器。 它不能同時處理多個請求。 您的cronjob應該啟動另一個Ruby進程(例如Rake任務)來完成這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.