2011-08-02 47 views
2

我創建了一個小應用程序,它在運行時通過從某些PDF文件中提取數據來創建或更新數據庫中的某些表。在這個桌面應用程序中一切正常,但對我來說,下一步就是讓網站的管理員可以上傳PDF文件,然後我的Java程序會相應地運行和更新表格。使用我在Web服務器上創建的Java程序

的問題是我不知道從哪裏開始的這(該網站還沒有完成,但我運行一些測試,它會在PHP編碼)。我想知道我需要什麼樣的技術讓服務器運行程序,並像離線版本一樣更新所有內容。有時需要一段時間才能更新所有內容,因此理想情況下,用戶上傳PDF可以在服務器完成工作的同時繼續瀏覽其他頁面。 (我可能會實現一些東西,當服務器完成處理文件時,它說如果程序成功結束或不在日誌文件中)

有人可以告訴我在Google上搜索什麼條件或給我一些指針?我沒有選擇我的網站將在哪裏託管,所以如果有人能告訴我要尋找什麼來確定他們是否支持這樣的應用程序,我也會很感激!

這也可能適用於其他編程語言,因爲我知道一點Python和C++爲好,免得將來我有可能在這些語言中的某些應用程序,我會想在網頁上使用。

如果我沒有處理這個正確的方式,我接受其他的建議,但最好的解決辦法是讓我的Java程序不變,因爲我知道它的工作原理完全一樣我也想,我會而不必一遍又一遍地開始。

回答

1

如果您的主機是基於* NIX的,您可以使用crontab(自動任務計劃程序)以設定的時間間隔運行您的程序。讓它檢查一個「新」PDF是否存在,如果有的話運行該程序。可能有一種方法可以使用Windows任務計劃程序類型程序在Windows上執行它。這可能是最簡單的方法。

或者您可以使用您可以使用shell_exec()在你的PHP到你的* NIX系統上執行命令直接運行Java程序。

+0

這可能是基於UNIX的,因爲大多數主機我已經發現使用...我是否必須將我的程序變成一個servlet,因爲我正在閱讀關於SO的另一個問題,或者是普通的jar足夠了嗎?調度程序的東西非常棒(特別是對於我未來的其他想法),但是我想知道是否有方法可以手動調用我的程序(即:當用戶單擊上傳按鈕並且文件完成上傳時)。我覺得這種第二種方式不會在服務器上加載太多的負載,因爲它會在整個一天中進行分析,而不是在給定的時間間隔內放慢速度。 –

+0

編輯答案。常規的jar可以被執行。即使在1分鐘的時間間隔內解析也只會對系統造成微不足道的負擔,所以我會推薦這種方法,因爲它可能更安全,但我無法告訴你如何。在網絡服務器上運行shell命令似乎是一個壞主意,但我找不到文獻說明它。 –

+0

它非常有意義。我要去看看它!非常感謝您的回答和您的時間! –

相關問題