[廚餘回收] Windows 工作排程器(Task Scheduler)啟動程式取得與執行檔所在相同目錄

  • 8101
  • 0
  • C#
  • 2018-07-31

這個雷我踩了不下三次,寫下來記錄一下,C# 程式要取得當前目錄的方法我們下關鍵字搜尋可以搜出一堆解決方案,沒意外的話第一個搜尋結果通常是 Directory.GetCurrentDirectory 方法(System.IO) - MSDN - Microsoft,但是這個方法在程式是由 Windows 工作排程器(Task Scheduler)啟動的狀況下就不 Work 了。

...繼續閱讀 »

[廚餘回收] Redis 裝在 GCE Windows Server 上須注意一下虛擬記憶體的設定

某個週末公司某個裝在 Windows Server 上的 Redis 服務掛點,從 Server Log 看到下面這段錯誤:

# Write error saving DB on disk: Invalid argument
# rdbSave failed in qfork: Invalid argument
# fork operation complete
# Background saving error

是在 Redis 做 Snapshot 的時候沒有成功,進而影響到服務的運作,Snapshot 會失敗大概會有幾個原因:

  1. 記憶體不足
  2. 磁碟空間不足
  3. 權限不足

現在我們就來看看是哪一個原因?

...繼續閱讀 »

[料理佳餚] 讓 Jenkins 在對 GitHub 執行 git pull 指令時自動帶上 SSH Keys

有一些專案的建置作業中,某些步驟是需要對 Git Repository 做操作的,比如說在一切測試都通過之後,發行一個可執行的版本並 commit,然後 push 到待上線的 Git Repository,這時候賦予給 CI 的 Git 帳號就至少要有 Write 的權限,並且執行需要授權的操作時,自動帶上認證。

...繼續閱讀 »

[廚餘回收] Jenkins 在 Windows 的安裝路徑最好不要含有空格

會有這個結論的起因是 Jenkins 有一個 Ruby Runtime Plugin,有很多 Plugin 會相依於它,雖然它最近一次更新的日期是在 2013 年 6 月 5 日,但依舊每個月都會有一萬多個安裝,而且跑在新版本的 Jenkins 也沒什麼問題(目前最新版本是 2.60.3),但是在 Windows 環境底下要安裝它就會有可怕的事情發生。

...繼續閱讀 »

[小菜一碟] 儲存效能計數器(Performance Monitor)的設定以利重複使用

偶爾我們會打開效能計數器,加入幾個 Counter 像是 Processor Information - % Processor TimeASP.NET v4.0.30319 - Requests CurrentASP.NET v4.0.30319 - Requests Queued,來觀察系統目前的狀況。

不過我們很辛苦地萬中選一挑出我們想要的 Counter 之後,想要儲存起來重複使用卻沒辦法,下面就針對將效能計數器的設定儲存起來重複使用的方法做個記錄。

...繼續閱讀 »