【问题标题】:Javascript cronjobJavascript 定时任务
【发布时间】:2023-03-27 12:46:01
【问题描述】:

如何让调度程序每周通过电子邮件发送带有图表附件的报告(由 javascript 制作),而无需用户与浏览器进行任何交互? 类似 javascript 的 cronjob。

除了使用像node.js这样的服务器端javascript之外,还有其他选择吗?

【问题讨论】:

  • 除了node.js,都是客户端。这意味着,您需要一个客户访问该网站才能运行它。
  • 您需要服务器端语言来执行此操作。
  • 如果您有一个网页,与您的后端合作,生成附件并将其邮寄出去,您可以使用 powershell 或批处理脚本触发访问该站点,并使用标准窗口触发该脚本sheduler,所以你可以在javascript中做很多计算。但是,您将需要一个后端来为您发送电子邮件并获取创建附件所需的数据。最后,在后端做所有事情可能会更好。
  • @evolutionxbox - 我想避免这种情况,因为如果没有人访问,页面功能也不会运行。 node.js 的任何替代方案?
  • 我没有听说过,但@Quentin 表明并非如此。

标签: javascript ajax pdf cron google-visualization


【解决方案1】:

您有三个基本选择:

  • 使用未内置在浏览器中的 JavaScript 引擎。 Node.js 是当今的标准,但确实存在其他选项,如 Rhino。这假设图表代码不依赖于任何浏览器 API。
  • 使用浏览器,但以编程方式驱动它(例如通过 Selenium 或 PhantomJS)
  • 重写报告生成器,使其不使用 JavaScript

【讨论】:

  • 我看到的最好的选择是使用 node.js,但我很担心,因为 node.js 团队正在快速发布新版本,所以我应该期望每 3 次做一些工作-6 个月更新到最新版本。
  • 您没有运行最新版本。除非您需要最前沿的东西,否则请使用打包版本(假设您运行在具有健全的包管理系统的 Debian 之类的东西上)并使用它提供的版本。如果软件包系统有更新,您只需担心更新内容(如果您使用 Debian Stable,这通常只是一个没有副作用的安全补丁)。
猜你喜欢
  • 2018-01-10
  • 2015-03-11
  • 2017-10-14
  • 2014-04-14
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
相关资源
最近更新 更多