文章詳情頁
redis - 如何給輕量python程序、腳本制作緩存?
瀏覽:69日期:2022-06-30 14:23:37
問題描述
運維菜鳥,最近在做公司日志進行簡單處理之后,按一定數量加入一個list,然后使用ES的接口將數據批量添加到另外一臺ElasticSearch上,再通過一些方式進行展示。這里遇到一個問題,如果數據插入時,發生異常。比如要插入的es主機崩潰等,但是數據源沒有問題。這樣就應該把已經處理完的數據移到緩存中,然后停止程序。(數據源是kafka,即便停止了程序,重新啟動后仍可以消費之前沒有消費的)那么想問一下,對于比較輕量的python程序或者腳本,應該使用怎樣的方式存儲這些異常狀況發生時要先存儲下來的數據呢?
問題解答
回答1:可以在es異常時, py腳本捕獲到異常后, 使用cPickle或者pickle 將處理好的數據序列化后保存到一個文件上(你可以理解成寫入一個文件, 不同在于cPickle和pickle能夠將字典或者列表這樣的對象直接寫入文件), 然后等你es恢復了, 重新啟動該py腳本, 那么該腳本優先去檢測是否存在這個臨時文件, 如果有, 并非空, 則把里面的數據取出, 寫入es
上一條:python函數根據概率返回值下一條:兩個python的語法問題
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設置在父元素的下面?4. javascript - angualr2中emit觸發一個方法然后怎么獲得這個promise的結果5. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?6. mysql里的大表用mycat做水平拆分,是不是要先手動分好,再配置mycat7. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。8. javascript - 圖片鏈接請求一直是pending狀態,導致頁面崩潰,怎么解決?9. python - beautifulsoup獲取網頁內容的問題10. 怎么用css截取字符?
排行榜
