五月 01
管理員FreeBSD筆記本 cronjob, daemon, FreeBSD, php, 主機管理
因為 php 擁有許多方便的函示庫,越來越多情況會習慣用它來處理,但是在 FreeBSD 主機上 cronjob 的最短間隔是一分鐘,不能即時回應總是有那麼一點不爽快。
而且透過 cronjob 每分鐘都去執行,如果程式跑很久的話,系統上會有一堆程式,佔掉很多資源。
總結下來,必須讓程式在兼具即時回應和資源有效使用的情況下運作。
作法上,假設我們寫一個 service.php 然後由 cronjob 每分鐘去執行一次。這時,程式裡應該有以下的機制:
- 檢查是否有其他執行緒存在,如果有就結束執行,以維持單一程式在執行。(當然也可以允許多個程式一起跑)
- 記錄程式的啟動時間 $startup = time() ;
- 開始辦正事,但記得盡可能 KISS (Keep it simple and stupid)。如果有一堆事要作,也讓它一件一件作,這樣可以避免佔用太多資源,花太多時間執行。
- 執行完畢後,檢查程式是否超過有效期限,例如可以設定程式生命週期為 3 分鐘,在週期內它會一直檢查有沒有工作要作,有就作,沒有就停止。如果超出週期,則不論有沒有工作要作,都會停止,讓下一分鐘的程式接手。這是為了避免程式活太久,產生一些不必要的問題。
$concurrency = 1 ;
$startup = time() ;
$ttl = 180 ; /* seconds, time to life of this process */
$cycle_latency = 500 ; /* micro seconds, usleep between each query */
$off_duty = 3 ; /* seconds, keep working until next process is about to coming in $off_duty seconds. */
三月 19
管理員FreeBSD筆記本 FreeBSD, NTFS, USB, 隨身碟
- 安裝 ntfs-3g 程式
cd /usr/ports/sysutils/fusefs-ntfs/
make install clean
* 這程式需要一些額外的東西,如 libtool 要 2.4 以上,如果編譯錯誤,就檢查一下是什麼漏了裝。
- 把你的 ntfs 磁碟機或 USB 隨身碟插上電腦
這時會看到它的 device name,例如 da0。
- 修改 rc.conf
加入 fusefs_enable="YES"
這個設定按理說在步驟一就會自動加入了。
- 修改 fstab 自動掛載
為了讓系統一開機就掛上去,加入
/dev/da0s1 /media/NTFS ntfs rw,mount_prog=/usr/local/bin/ntfs-3g,late 0 0
- 或者,手動將系統掛上
ntfs-3g /dev/da0s1 /media/NTFS -o rw,uid=1000,gid=1000,umask=0
詳細參數請見 ntfs-3g manpage。
十二月 21
管理員FreeBSD筆記本 FreeBSD, proftpd, 主機管理
在 proftpd 1.3.1rc1 之後,開發者似乎替程式加入了一些語言上的規劃,雖然目的是為了解決檔名的問題,但卻也造成不少困擾。
在爬文測試過後,發現有幾個前提要先釐清: More
十二月 19
管理員網路賺錢 AdSense, Google, YouTube, 廣告
其實我好一陣子沒上論壇來留言了,因為對 GA 的運作已經很熟,而 GA 也非常穩定,反倒顯得論壇的用處不大,但其實答案是相反的。
日前,和許多版主(解答王)一樣,我也收到了 Google 的小禮物,才注意到 Google 不僅在其他很多服務(Search, YouTube, Gmail, Docs,...)有在動,連 AdSense 也動起來了。所以,這次的意見反饋活動,我就很有興趣參加。當天,我們那場是三位站長和 AdSense 的區域負責人對談。
More
六月 04
管理員減肥塑身 上班族, 減肥
除了錯誤的飲食習慣,越來越多的研究証明,肥胖與看電視的關系也非常密切。
近日,美國《塑形》雜志刊出了紐約營養和健身專家總結的“看電視減肥12招”,不妨一試。 More
Older Entries
» 台中住宿提供優良的服務和價格。