0

我正在开发一个后端服务器,使用 Postgres 作为我朋友游戏项目的数据库。一切进展顺利,但我想添加一些我还不了解的功能。

游戏与等级一起使用。每天人们都可以进行短距离比赛。每个玩它的人都会朝着目标得分。有月排名、周排名和日排名。每场比赛都有助于各自的排名。周是通过从星期一开始到星期日结束来衡量的。

月度和日度指标很容易,但我想知道在更务实的一天进行周排名。如何确保我可以使用各种 JavaScript 函数轻松地描述每个月的一周等等?例如,我们在 2022 年的第 10 周,或第 15 周等。

另外,我想创建一个功能,该功能将在每天 00:00 每 24 小时自动运行一次,并通过电子邮件发送每日排名,以及周日的每周排名('当每周排名重置时')和结束时每一个月。在此过程中可能会删除旧的和无用的过去排名。

所以目标是:

  • 检测当前弱点的最佳方法,即使是在逐月转换时,并跟踪每个等级
  • 如何通过电子邮件将这些等级发送给游戏所有者(我的朋友)
  • 如何创建一个在服务器上每 24 小时 00:00 自动运行的功能来标记此类排名。

我希望我已经足够清楚地阐述了这个问题。我将不胜感激,如果我能帮助使问题更清楚,请问我任何问题

项目的依赖关系:

笑话:“^27.4.1”,bcryptjs:“^2.4.3”,csv-parse:“^5.0.4”,快递:“^4.17.2”,快递异步错误:“^3.1.1” ,开玩笑:“^27.5.1”,jsonwebtoken:“^8.5.1”,multer:“^1.4.4”,pg:“^8.7.3”,反射元数据:“^0.1.13”,swagger- ui-express:“^4.3.0”,ts-jest:“^27.1.3”,tsyringe:“^4.6.0”,typeorm:“^0.2.43”,uuid:“^8.3.2”

还有一些更多的开发依赖项,但我不确定它们是否相关。

提前谢谢大家!

4

1 回答 1

0

Postgres provides a direct method for week number, providing you can put up with the year end idiosyncrasies of the ISO 8601 week definition. Use the extract function. However, it does not take account the particular month.
As far as scheduling tasks it is unfortunate but Postgres does not provide a built in scheduler. However see here for a few options.

于 2022-03-04T04:38:42.233 回答