我需要爲用戶提供導出一堆PDF(發票)的功能。
問題是,每次用戶打開PDF時都會生成PDF。
所以我沒有將它們存儲在文件系統中。從用戶導出一堆PDF的高效方法?
所以,我的問題是,什麼時候導出用戶的PDF的時候,他們想要什麼?
例如,用戶想要導出上一季度的100張發票。
然後,我需要調用一個生成PDF的腳本,並將它們放在一個.zip文件中。
但是,如果多個用戶同時請求重導出?
我正在考慮每隔10分鐘左右運行一次cronjob,但這並不能解決腳本可能的沉重問題。
我是否需要運行多個cronjobs,才能分別處理一部分導出?
或者我可以以某種方式創建一個真正高效的腳本,也許可以分幾批分開所有的PDF?
我正在使用wkhtmltopdf來生成PDF文件。
幸運的是,渲染PDF的速度非常快。
雖然它仍然取決於內容,當然。
平均而言,一個PDF大約需要3-5秒才能渲染。
任何幫助或指導方針將不勝感激!
感謝
後續問題:如果我每張發票保存到一個文件系統,只要它的創建或更新,我需要找到一個方法來做到這一點的背景下,以避免不必要的等待。
隊列將是我的救世主,對吧?
我目前正在開發一個非常類似的設置。我對使用gearmand Job server非常滿意 - 這是一個非常好的(分佈式)作業隊列系統,可以在後臺執行繁重的處理。還要注意,對整個批處理使用一個單獨的Xvfb-Process而不是使用'xfvb-run'可能會嚴重加速這一代。 (需要0。09secs/Page,並且與CPU-Cores的數量完全一致) – tillz