在网络应用程序中,即使我不在网页上,有没有办法在特定时间 运行 一个功能?

In web-application, is there any way to run a function at a specific time even if I am not on the webpage?

class App extends React.Component {

  state = {
    seconds: moment().format('HHmmss'),
    turned: true,
  }

  tick() {
    this.setState(() => ({
      seconds: moment().format('HHmmss'),
    }));
    if (this.state.seconds >= '233000' && this.state.seconds <= '234000') { //make turned false between 23:30 - 23:40
      this.setState(() => ({
        turned: false,
      }));
    }
  }

  componentDidMount() {
    this.interval = setInterval(() => this.submitToToday(), 1000);
  }

  componentWillUnmount() {
    clearInterval(this.interval);
  }

submitToToday() {
    if (this.state.seconds >= '234500' && this.state.seconds <= '235500' && this.state.turned === false) {
      // HERE MongoDB update that I want to run
      this.setState(() => ({
        turned: true,
      }));
    }
  }

在此代码中,我在 23:45 - 23:55.

之间将函数“submitToToday()”设置为 运行 一次

当我在网页上时这很好用,但当我不在网页上时这将不起作用。即使我不在网页上,有什么方法可以 运行 代码?

或者,是否可以让托管服务只打开网页?我正在使用 DigitalOcean。

如果它是评论所建议的数据库操作,那么执行此操作的最佳方法是在 CRON 作业中。对于 Meteor,只是 select 您在 Atmosphere 上最喜欢的 CRON 作业包之一:https://atmospherejs.com/?q=cron 之后,您可以调用 Meteor 方法,该方法将在 CRON 中为给定时间的给定任务 运行 创建一个新条目。