我正在構建一個頁面,用戶可以在其中生成自定義計時器。這些定時器通過setTimeout在一個heroku nodejs後端運行。然而,我有點擔心可能有幾千個長時間setTimeouts同時運行。很多setTimeouts的結果
我發現了this SO問題,它指出javascript定時器在瀏覽器中的單獨線程上運行。在nodejs中的情況是一樣的嗎?如果是這樣,那麼在這個線程上有數千個計時器會有什麼後果呢?
編輯:一些關於我想要做什麼的更多信息。我正在構建一個同步頁面,可以放在屏幕上,然後用戶可以訪問瀏覽器中的頁面並更改其實例的內容。這將在所有打開的頁面實例中反映出來。用戶還應該能夠設置定時器,這應該在定時器結束時推送新的內容。這正是我正在考慮使用服務器端setTimeouts來完成的。我知道我應該使用heroku調度器插件之一,但我想降低成本(這種頁面不完全是賺錢者)。最後,用戶應該能夠生成他們自己的這個頁面的實例,以及一個新的url等。這是可擴展性問題的起因。如果存在100個頁面實例,並且每個實例都設置了10個計時器,則在後端有1000個計時器。
你究竟想要做什麼? 「成千上萬的定時器」聽起來不像是適合任何事情的解決方案。 – robertklep
這聽起來不像一個明智的設計決定,即使它會「安全」。如果你可以進一步解釋你的用例,我相信你可以得到一些有趣的回覆(例如,不使用'setTimeout' :-) – Amit
爲什麼不試試它,看看它是否工作爲你還是不? – mscdex