我有需要在後臺(滑軌5.0.1)下面的命令 -守護VS亞軍VS Rake任務VS主動工作
- 執行的任務的列表下載一個zip文件
- 從中提取XML文件(平均大小約400 MB)
- 解析(XML引入nokogiri讀者::)對符合一定的約束,如果發現,將它們添加到數據庫中記錄的xml文件(Postgres的)
- 找回一些來自數據庫的電子郵件地址併發送給他們電子郵件
這需要每天完成,無需任何人工輸入。現在,我正在使用Rails runner來完成所有這些工作,並使用cron('Whenever'gem)安排它。所以,正在使用'轉輪'正確的方法?有沒有一個減少內存密集方法我可以使用,因爲前端(管理面板)將不會被訪問太多?積極的工作,耙子,守護進程等如何?
無論您如何安排工作,解析XML都將成爲瓶頸。如果您想要更少的內存密集型方法,那麼嘗試找到不涉及將400mb XML文件解析到內存中的內容。 – max
@max我目前正在使用Nokogiri xml讀取器,它不會將xml加載到內存中,而是依次讀取行,解析節點。有更好的解決方案嗎?也許分裂的XML文件? – rohank