簡體   English   中英

使用Node.js和Kue,是否可以指定我希望任務執行的日期?

[英]Using Node.js and Kue, is there a way to specify a date I want a task to execute?

顯然,我可以將延遲設置為直到我想要的日期為止的毫秒數,但這在某些情況下效果不佳,最大int值將是一個問題。 如果Kue無法做到,我可以將特定日期的作業存儲在面向客戶端的應用程序使用的主數據庫中,或者將其存儲在第三數據庫中,而這可能只是為了避免使用多個存儲庫。這個過程。

更新:這是一個愚蠢的問題,我很快腦子里做了一些數學運算,卻以失敗告終,我想然后問,我應該在問之前已經計算了。

不幸的是,Kue沒有其他安排工作的方式。 我確實想知道您需要安排哪些工作,以至於溢出整數。 考慮到Kue得到Redis的支持,我可能不想依靠它來安排未來很多年的工作。

如果確實需要這樣做,則可以將執行日期與作業一起存儲,並將延遲設置得盡可能高。 當執行時間到時,請檢查該日期是否已過,如果沒有過,則僅用剩余的ms重新排定作業,如果剩余的仍然太高則重新排定最大值。

由於JavaScript中max整數的大小,我不必擔心。

該文檔指出,日期是相對於現在的日期 ,因此您可以安排作業開始到未來的285,427.017年(9,007,199,254,740,992毫秒)。 即使它說它很可能將日期轉換為絕對日期,該絕對日期的下限值較小但仍然很大:243,090.534年97,671,189,983,570,992毫秒)。

在時間上,我會更考慮2038年的32位第二次溢出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM