相关疑难解决方法(0)

为什么cron不会执行我的node.js脚本?

我希望我的服务器每分钟都执行一个节点脚本.如果我手动执行文件(./main.js),程序执行完美,所以我很确定这不是问题.但当我把它交给cron来执行时,没有任何反应.

这是cron文件中的行.

*/1 * * * * /home/bryce/scripts/wudu/main.js

这是一个示例日志:

Oct 11 15:21:01 server CROND[2564]: (root) CMD (/home/bryce/scripts/wudu/main.js)

可执行文件: home/bryce/scripts/wudu/main.js

#!/usr/bin/env node

var program = require('commander');
var v = require('./cli/validation');
var a = require('./cli/actions');

program
  .version('0.0.1')
  .option('-u, --url', 'Register url')
  .option('-s, --selector', 'Register selector')
  .option('-p, --pagination', 'Register pagination')
  .option('-i, --index', 'Pass an index, to destroy')
  .parse(process.argv);

var args = process.argv.slice(2),
        mode = v.mode(args[0]),
        options = v.hasArgs(mode, program);

a.init(mode, options);
Run Code Online (Sandbox Code Playgroud)

知道为什么我会收音机沉默吗?在其他地方我应该调试?

更新:

我认为问题与我的相对文件路径有关,而main.js是从它自己的目录外执行的.

所以现在,我已经放在exe.shwudu目录中.它看起来像这样:

#!/bin/bash

cd …
Run Code Online (Sandbox Code Playgroud)

cron node.js

6
推荐指数
1
解决办法
6477
查看次数

从特定日期开始,每 3 个月和 6 个月在 later.js 上重复一次

我正在尝试使用 later.js(https://github.com/bunkat/later)每 3 个月和 6 个月创建一次重复。

这是我的代码

// My value.scheduled_date is 2018-09-06
var d = new Date(value.scheduled_date);
var day = d.getDate();
// month count will be -1 as it starts from 0
var month = d.getMonth();
var year = d.getFullYear();

var recurSched = later.parse.recur().on(day).dayOfMonth().every(3).month();
var schedules = later.schedule(recurSched).next(5);
console.log(schedules)
Run Code Online (Sandbox Code Playgroud)

这给出了从当月开始的 3 个月重复,但我希望重复从 schedule_date 开始。当我在代码中添加开始时

var recurSched = later.parse.recur().on(day).dayOfMonth().every(3).month().startingOn(month + 1);
var schedules = later.schedule(recurSched).next(5);
console.log(schedules)
Run Code Online (Sandbox Code Playgroud)

每年只在那个月之后复发。我希望重复从特定日期开始,这样其他年份的重复就不会受到影响。

我的6个月代码也是如此

var recurSched = later.parse.recur().on(day).dayOfMonth().every(6).month().startingOn(month+1);
var schedules = later.schedule(recurSched).next(5);
console.log(schedules);
Run Code Online (Sandbox Code Playgroud)

javascript node.js laterjs

5
推荐指数
1
解决办法
453
查看次数

标签 统计

node.js ×2

cron ×1

javascript ×1

laterjs ×1