2014-04-06 44 views
2

如何在mod_perl下執行定期動作,特別是Apache2?mod_perl下的定期動作

例如,我需要從遠程位置重新加載一些數據,對其進行處理並將其存儲在內存中。理想情況下,我不想在提供請求時這樣做。

我高度懷疑我們的代碼庫中永遠不會使用警報,因此只需設置定期警報就行不通。外部存儲(如Redis/Memcached)也可以很快,但仍然不如進程本身的內存快。

我相信這可以使用一些自定義信號,pkill和cron來完成。如果需要,信號處理程序的執行可能會被推遲到清理階段。

但也許有一個更直接的方法?真的很明顯,我看不到?

回答

1

如果您使用線程支持構建了嵌入到Apache中的Perl,只需在啓動腳本中創建一個線程即可。

如果沒有,確保每個Apache進程都會自行更新將會非常複雜。