Fork child processes 在 PHP 的寫法

有人在 PTT 問了一個問題:

作者 kovenkoven (小沃) 看板 PHP
標題 [請益] 幾個Plurk機器人的問題
時間 Thu Mar 25 18:51:22 2010
───────────────────────────────────────
..略..
由於最近對在嘗試寫Plurk的回訊機器人
..略..
我想在使用者發出關鍵字的噗之後才開啟回訊機器人進行動作
之後在回覆的地方抓使用者輸入的控制選項
例如A使用者發出了”呼叫OOO”的訊息
機器人會在該篇噗做出等待使用者下命令的訊息之後等待使用者的回覆
接著使用者可能會輸入”氣象”or”新聞”等等的訊息讓機器人做出相對應的事情
直到使用者發出”結束OOO”才停止函式
可是該怎麼做才能實現主程式持續抓時間河上的訊息且同時服務已呼叫機器人的使用者?
在win作業系統下有支援類似thread的功能嗎?
另外目前我所使用的方法是利用while搭配sleep讓它持續運作
有什麼方法可以讓我做個分頁,裡面有控制按鈕去讓他起動or停止嗎?
譬如利用while($key),讓我的按鈕可以去控制$key之類的
感謝各位^^

這個概念其實不難,雖然說用 PHP 實做不見得是個好主意。比較有效率的方法, 分成兩隻程式來跑,第一隻負責找最新的噗的關鍵字,找到之後把 plurk_id 存起來。第二隻負責去撈 plurk_id 來回應關鍵字。

    table scheme
    id   | plurk_id | start_time | hooked
    pk     整數       抓到的時間   TRUE/FALSE

在 fork 的同時把該筆 plurk_id 對應的欄位 hooked 設定為 FALSE

Posted in Programming
0 comments on “Fork child processes 在 PHP 的寫法
1 Pings/Trackbacks for "Fork child processes 在 PHP 的寫法"
  1. […] This post was mentioned on Twitter by roga. roga said: 剛剛等稀飯煮好的同時,看到一個有趣的問題,在 BBS 回完問題以後整理了一下貼到我的部落格上 http://blog.roga.tw/2010/03/26/2373 (Fork child processes 在 PHP… http://plurk.com/p/4cytp5 […]

Leave a Reply

Your email address will not be published.