2010-03-23 49 views
0

可怕的問題......我知道。以前有沒有一種方法可以定義配置過程的時間間隔?

我正在處理前一天處理數據的應用程序。問題是我知道客戶最終會每隔一小時或其他任意時間間隔詢問它。我知道像Java或SQL這樣的語言可以定義日期。那麼如何定義一個時間間隔呢?

讓我這樣問。如果有人要求您創建可配置的軟件,您將如何讓用戶指定時間間隔?

UPDATE

我在找的是一個文本表示。想象一下將被放入配置文件中的一些符號。

回答

1

下面是谷歌應用程序引擎的cron API是如何配置的,它更人性化一點比cron

http://code.google.com/appengine/docs/python/config/cron.html#The_Schedule_Format

的Python(?和Java)源來實現它應該在SDK中可用。還沒有看到提取是多麼容易,但它至少應該提供一些想法。

我認爲可以根據需要添加各種格式的文件 - 它的結構足夠可擴展。例如,目前它缺少說「每4分鐘過去一小時」的能力,這在UNIX cron中很常見,但與GAE並不真正相關,因爲雖然引擎可能會計算出哪些分鐘是忙的,哪些不是,並且平衡負載,用戶肯定不能。

顯然,向普通用戶提供看起來像自然語言的東西的主要弱點是他們會認爲你的代碼是通靈的,並且期望它能夠理解諸如「復活節後一週除外的每隔一個星期三」 ,或「隨時鐘變化」;-)

1

我不確定是否正確理解您的問題。你是否要求輸入時間間隔的方法?

我不知道你的環境,但大多數語言框架提供了一些或多或少複雜的GUI組件。像日曆控件可能是你在找什麼?

編輯:啊,命令行(或配置文件)它是。

  • 你可以解析一個XML文件嗎?在這種情況下,你可以序列化一個時間跨度(大多數語言都有這樣的類)。該用法可以編輯XML文件,通常只是替換<minutes>部分的值。反序列化這個XML文件以再次獲得Timespan很容易。

  • 如果您更喜歡純文本或命令行輸入,它不那麼容易。但是,許多語言都支持某種Timespan.Parse(字符串文本,字符串格式)。你應該看看這個概念是否存在於你的環境中。

  • 許多環境提供某種sscanf(),它解析輸入字符串。有時候也有「時間」格式。

  • 如果以前的想法不提供解決方案,可以嘗試使用正則表達式解析日期。這個網站上應該有很多關於這個主題的資源以及網絡。

  • 如果您不喜歡正則表達式,請根據您自己的格式規則拆分輸入字符串。儘管如此,這是一種醜陋的解決方案。

  • 如果您不想手動分割用戶輸入,請使用Random.NextInt(1000)並希望沒有人注意。 0 :-)

+0

好點......我並不清楚。我正在尋找一些定義間隔的文本方法。一些可以被解析和解釋爲定義間隔的東西。 – gshauger 2010-03-23 21:54:34

+0

@Downvoter:我真的很想知道爲什麼這篇文章沒有幫助。請給我留個便條,我會看看我是否可以改進它。 – mafu 2010-03-24 14:35:48

+0

這沒有什麼幫助,因爲它從來沒有建議用於配置調度程序的基於文本的方法。我指定回答問題的帖子指出了我在Cron表達的方向,這完全符合我的需要。事實上,我最終在我的最終實現中使用了cron表達式進行了輕微的調整。 – gshauger 2010-03-24 16:56:01

相關問題