2015-09-30 33 views
0

所以我想我的監視無限的FileMaker環腳本是否正在運行。什麼是最好的方法?要監控的FileMaker

我注意到的FileMaker不會產生新的進程時,後臺腳本運行,因此檢查的進程或線程可能是出了問題。

我目前的解決方案涉及到檢查「腳本暫停」中的Filemaker客戶子窗口這是一種片狀的UI。有沒有更好的方法來檢查。 Filemaker似乎沒有任何支持這種檢查。

的Filemaker版本:14.0臨

編輯:也許,我應該更清楚。我試圖通過諸如zabbix之類的監視工具來監視它。所以我有一個外部(powershell)腳本來檢查文件製作者。

+0

更多細節可能會有所幫助。這是一個FileMaker腳本,一個shell腳本,一個插件腳本嗎? 「後臺腳本」不是FileMaker社區中的標準術語。我假設你的意思是某種從FileMaker腳本執行的shell腳本,但在提供任何建議之前需要確定。 – Chuck

+0

基本上是一個無限運行的普通文件管理器腳本。我應該完全刪除措辭嗎? – mirage

+0

我會編輯這個問題以反映它是一個無限循環的FileMaker腳本,但是這個事實也讓我問你爲什麼要使用無限循環腳本。 :)根據您使用的FileMaker的版本,還有其他可用的工具可以完成以前需要的無限循環腳本。 – Chuck

回答

1

如果你堅持繼續使用一個無限循環的腳本,這裏就是我的,就表示這個腳本中的FileMaker 13+運行:

  • 每次循環執行,更新全局變量的當前時間戳(Set Variable [ $$_LAST_LOOP_EXECUTED ; Get (CurrentTimestamp) ])。
  • 將一些文本添加到佈局。文本是最近執行腳本循環時要顯示的內容。
  • 編輯「隱藏對象時,」計算(Info面板的「數據」選項卡上找到)來讀取這樣的事情:Get (CurrentTimestamp) - $$_LAST_LOOP_EXECUTED > 60。這假設如果全局變量在過去一分鐘內未被更新,則腳本是而不是執行。

如果您至少沒有使用FileMaker 13,完成這項工作會稍微複雜一點,但可以使用條件格式。

以上所有內容都是解決這個問題的方法,一旦啓動腳本,因爲它的設計始終運行,您可以通過在暫停時單擊「取消」按鈕來暫停腳本,這意味着腳本無法執行任何清理,如清除全局變量。我沒有嘗試過我上面描述的技術,但我的猜測是隱藏屬性的計算不會不斷更新。它可能只會在佈局重繪時更新,例如移動到不同的記錄。

現在,話雖如此,有更好的方法來得到一個腳本來定期執行。

  • FileMaker Server可以按計劃執行腳本。我實際上自己使用這個特性來從包含從PostgreSQL下載的數據的文本文件中導入數據。
  • 的FileMaker 10+具有稱爲Install OnTimer Script腳本步驟,這將的指定的秒數之後執行腳本。

這種類型的腳本最好放在服務器上,但由於實際適配器可能無法實現。如果是這樣的話,那麼我會建議調查Install OnTimer Script步驟。

+0

我們嘗試按計劃導入,但是隨着ODBC導入,我們遇到了隨機問題,該腳本從Filemaker Pro運行,但未能按計劃運行。 – mirage

+0

我遇到過需要定期執行某些操作的情況,但FileMaker Server無法完成此操作。在這種情況下,我將FileMaker Pro的副本保存在與服務器相同的機器上,並使用「安裝OnTimer腳本」定期執行。我會建議嘗試一下,這意味着你可以讓腳本清理全局變量(並刷新屏幕)。但是,如果您想知道腳本是否在使用*不同* FileMaker客戶端時運行,則需要更高級的技術,因爲全局變量是特定於客戶端的。 – Chuck

+0

所以,如果我理解正確,「安裝OnTimer腳本」我需要從客戶端手動運行一次?然後,它只是拿起時間表。 – mirage