IC.Schedule - imonology/ImonCloud-Doc GitHub Wiki

IC.Schedule API列表

setTask() -- 新增/設定一個排程工作

deleteTask() -- 刪除一個排程工作

suspendTask() -- 暫停一個排程工作(但不刪除)

resumeTask() -- 重新啟動一個已被暫停的排程工作

patchCallback() -- 重新補上 callback function 給一個排程工作

getStatus() -- 取得 IC.Schedule 狀態

enable() -- 啟動 IC.Schedule

disable() -- 停用 IC.Schedule

---------------------------------------------------------------

IC.Schedule.setTask({id: , callback: , monthday: , weekday: , hour:, minute:, cycle: argument:, action: , suspend: , descritpion: , onDone: });

功能說明

新增一項排程工作/或設定一項已經存在的排程工作。

變數說明

  • 傳入(input)

    • {id: , callback: , monthday: , weekday: , hour:, minute:, cycle: argument:, action: , suspend: , descritpion: , onDone: }

      變數類型: Object

      變數說明: 資料

  • id: task ID

  • callback: When condition matching, the callback will be executed.

  • monthday: 1 to 31

  • weekday: Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday

  • hour: 0 to 23

  • minute: 0 to 59

  • cycle: supported: hourly, daily, weekly, monthly

  • argument: The argument will be the input for callback function

  • action: The action should be the callback name which is expected to execute.

  • suspend: Without delete, this task will not be executed when condition is matched.

  • description: You can give some descriptions for this task.

  • 傳出(callback)

    onDone

{scheduleId: , message: }

  • 回傳(return)

範例

---------------------------------------------------------------

deleteTask({id: , onDone: });

功能說明

刪除一個已存在的排程工作。

變數說明

  • 傳入(input)

    • {id: , onDone: }

      變數類型: Object

      變數說明: 資料

  • 傳出(callback)

    onDone

  • 回傳(return)

範例

---------------------------------------------------------------

IC.Schedule

enable();

功能說明

啟動 IC.Schedule

變數說明

  • 傳入(input)

  • 傳出(callback)

  • 回傳(return)

範例

---------------------------------------------------------------

IC.Schedule.disable();

功能說明

關閉 IC.Schedule

變數說明

  • 傳入(input)

  • 傳出(callback)

  • 回傳(return)

範例

---------------------------------------------------------------

getStatus();

功能說明

傳回目前 IC.Schedule 狀態。

變數說明

  • 傳入(input)

  • 傳出(callback)

  • 回傳(return)

    • {}

      變數類型: 物件

      變數說明: 目前 IC.Schedule 狀態。

範例

---------------------------------------------------------------

patchCallback({id: , action: , callback: });

功能說明

每一項工作排程項目都會被記錄到資料庫,以便在重新啟動專案伺服器之後,還能保有在關閉專案伺服器之前的排程工作設定。由於 callback functions 無法隨著排程工作一起被儲存到資料庫中,因此必要在伺服器啟動時,將有可能用到的 callback functions 補回 IC.Schedule 當中。

變數說明

  • 傳入(input)

    • {id: , action: , callback: }

      變數類型: Object

      變數說明: 資料

  • 傳出(callback)

  • 回傳(return)

範例

---------------------------------------------------------------

suspendTask({id: , onDone: });

功能說明

暫停一項排程工作,但不刪除這項排程工作。

變數說明

  • 傳入(input)

    • {id: , onDone}

      變數類型: Object

      變數說明: 資料

  • 傳出(callback)

    onDone

  • 回傳(return)

---------------------------------------------------------------

resumeTask({id: , onDone: });

功能說明

繼續之前暫停的一項排程工作項目。

變數說明

  • 傳入(input)

    • {id: , onDone}

      變數類型: Object

      變數說明: 資料

  • 傳出(callback)

    onDone

  • 回傳(return)

範例