iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
AI 自動化

沒有工程師的旅行社,長出節省三個人力,並且讓重複事情都給電腦自動執行的系統系列 第 29 篇

快照還停在上禮拜:派工系統怎麼做到即時,又讓壞掉的規則自己講話

  • 分享至 

  • xImage
  •  

快照還停在上禮拜,派工分數已經不準了

昨天講的派工分數,最早的版本是一份唯讀快照——固定時間把資料表抓一次、算一次分數,存起來給大家看。問題很快就出現:快照是上禮拜三的,這幾天案子進進出出,實際負載早就變了,分數卻還停在上禮拜,派工照著一份過時的分數在派,跟沒有這套系統比起來,只是多了一層「看起來很準」的假象。

要即時讀資料,先撞上一堵牆

要解決這件事,表面上只是「改成即時讀資料」,做下去才發現卡在一個技術限制:瀏覽器沒辦法直接打資料表服務的網址去抓資料,會被瀏覽器自己的安全機制擋下來;把資料表直接發布成公開頁面讀取又等於把客人資料整個公開,兩條路都走不通。最後能走的架構是中間多一層:寫一支程式常駐在雲端,由它去讀資料表、整理好再回傳給瀏覽器,瀏覽器不直接碰資料表本身。繞了一圈,但資料終於是即時的了。

讓同事自己改規則,但資料表仍然不能被寫

這套東西原本只有主管自己在用,後來同事也想用,而且提出一個需求:希望自己能調整忙碌燈號、請假狀態、派工規則,不用每次都等人改程式。這部分另外開了一張設定用的表,同事自己填寫,程式只負責讀跟存這張表——原本那份客戶資料表,從頭到尾維持只讀,這條線沒有鬆動。

規則改版後悄悄失效,而且不會報錯

開放同事自己改規則之後,踩到一個最難抓的坑:資料表那邊的某個欄位選項改版過,新填的資料用新的標籤,但程式裡寫的規則比對的還是舊標籤,兩邊對不上,規則直接變成零命中——而且不會跳出任何錯誤,畫面照常顯示,只是這條規則從此形同虛設,沒有人會發現。

後來加了一塊診斷用的面板:規則清單旁邊多一欄「命中筆數」,零筆的直接標成警示色;另外做了一個小工具,輸入比對值就能立刻看到目前命中幾筆、是哪些客人,寫規則的人可以先在這裡試打一次,確定真的有命中才存檔。跟系列前面講過的同一句話呼應:安靜地失敗,比大聲地壞掉危險得多,這塊面板就是把原本看不見的死規則,逼它們自己跳出來講話。

如果你也是旅行社

這套工具從一個人用的唯讀快照,走到現在,每一步想解決的問題都不一樣:先是資料不夠新,再來是改規則要等人,最後是規則壞了沒人知道。沒有一步是一開始就設計好的,都是用了之後才發現下一個卡點在哪裡——如果你也打算做類似的內部工具,不用想著一次做完,先讓它能用,再讓它陪著真正的使用情況一起長。


上一篇
西語客人的單,又派給了那個已經忙到喘不過氣的人:派工分數怎麼算
系列文
沒有工程師的旅行社,長出節省三個人力,並且讓重複事情都給電腦自動執行的系統 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言