Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让一段代码在Javascript中精确地(比如12月31日午夜)运行?_Javascript_Node.js_Algorithm_Express_Mean Stack - Fatal编程技术网

如何让一段代码在Javascript中精确地(比如12月31日午夜)运行?

如何让一段代码在Javascript中精确地(比如12月31日午夜)运行?,javascript,node.js,algorithm,express,mean-stack,Javascript,Node.js,Algorithm,Express,Mean Stack,我有一段代码,需要在每年12月31日11:59:59执行。 我在Mean.Js框架下工作,所以最好有一个特定于Node.Js的解决方案 但是,即使是普通的Javascript或通用算法也受欢迎。如果您想使用node.js,也可以使用cron:只需创建一个包含所需时间、日期和脚本的cron作业 否则,这样做的策略是: 确定当前日期 将其从目标日期(本年度12月31日(您需要确定)23:59)中减去 使用时差调用setTimeout 未来问题注意:阅读SO帮助文档。如果您希望答案中包含代码,请包含您

我有一段代码,需要在每年12月31日11:59:59执行。 我在Mean.Js框架下工作,所以最好有一个特定于Node.Js的解决方案


但是,即使是普通的Javascript或通用算法也受欢迎。

如果您想使用node.js,也可以使用cron:只需创建一个包含所需时间、日期和脚本的cron作业

否则,这样做的策略是:

  • 确定当前日期
  • 将其从目标日期(本年度12月31日(您需要确定)23:59)中减去
  • 使用时差调用setTimeout

  • 未来问题注意:阅读SO帮助文档。如果您希望答案中包含代码,请包含您迄今为止所尝试的内容,并添加代码。

    您基本上是在尝试安排一些事情,因此不需要任何算法。你唯一需要知道的是

    注意:我假设您正在Mac或Linux上工作。windows中肯定也有类似crontab的东西,请做一些研究

    crontab是一个简单的文本文件,其中包含在指定时间运行的命令列表。然后,这些命令(及其运行时)由cron守护进程控制,该守护进程在系统后台执行这些命令

    您需要遵循的步骤如下:

  • 创建文件crontab.txt(或任何名称)
  • 在crontab.txt中使用Cronjob编写要调度的命令
  • 将crontab指向crontab.txt 如;crontab~/path文件/crontab.txt
  • 键入crontab-l(列出所有已计划的crontab作业)
  • 键入crontab-r(删除已计划的cronjob)
  • 如何编写Cronjob

    <minute> <hour> <month day> <month> <week day> <command to execute>
    
    * * * * * specifies "every minute, every hour, every day, every month, every week"
    
    调用节点程序。sh

    * * * * * ~/pathtofile/call_node_program.sh
    
    node myfile.js
    
    因此,您的call_node_program.sh将为您完成这项工作


    我将委托你做研究,并为每年12月31日11:59:59撰写模式。干杯。

    我认为cron作业比让节点实例一直运行以检查日期要可靠和简单得多……我同意@dandavis的观点。只有当您真的需要将其集成到正在运行的应用程序中时,您才可以使用node cron()-但使用OS cron作业更好,因为您的操作系统更可能恰好在该日期运行,而不是您的应用程序。@JackOfAll希望这个问题可能对您有所帮助@JackOfAll,如果我下面的回答对您有所帮助,请接受它。谢谢,我试过克朗。显然它在Windows上不起作用。让我检查一下linux,然后再回来。@Jackof所有Windows的替代方案都是使用Thanke@BenFortune。我没有在windows机器上工作的任何经验,我会记住这一点。:)@杰克:那很好,试试看。如果你遇到任何问题,请告诉我。让我告诉你们一些有趣的事情,当我很久以前学习的时候,我使用了“说声“hello world!””命令来确保我的cronjob工作正常,因为它会发出噪音,其余的东西在后台执行。那很有趣。你也可以试试他。