我在heroku有一个node js项目,它工作得很好。我想做一个在调度器上运行的特定函数(每个星期天和星期三)问题是:我使用heroku调度器并设置命令Node Lottery.js只是为了确保在我的终端中它的工作所以问题只与heroku调度器有关
编辑:我现在向你展示的日志从heroku它看起来像调度程序不工作有时它意味着在10点它不会启动我的文件,但有时它确实启动文件我认为这是因为我有一个动态与睡眠时间,所以也许目前heroku项目是在睡眠,它不会启动它,因为应该是我知道当我运行应用程序,并使用它在9点调度工作,所以也许它,因为当heroku项目是活跃的,不睡觉,他可以运行这个命令,也许在第一行的代码的文件,我应该运行任何获取heroku服务器唤醒他,然后它会运行应该是?
const LotteryModel = require("./models/LotteryModel");
const mongoose = require("mongoose");
require("dotenv").config();
mongoose.set("strictQuery", false);
mongoose.connect(process.env.MONGODB_URI);
const currentDate = () => {
const date = new Date();
const day = date.getDate();
const month = date.getMonth() + 1;
const year = date.getFullYear();
return `${day}-${month}-${year}`;
};
const createNumbers = () => {
let tempArr = [];
let randomNumber;
let specialNum = { number: Math.floor(Math.random() * 7) + 1, special: true };
if (specialNum.number === 0) specialNum = { number: Math.floor(Math.random() * 7) + 1, special: true };
for (let i = 0; i < 6; i++) {
let add = true;
randomNumber = { number: Math.floor(Math.random() * 36) + 1, special: false };
for (let y = 0; y < 36; y++) {
if (tempArr[y]?.number == randomNumber.number) {
add = false;
}
}
if (add) {
tempArr.push(randomNumber);
} else {
i--;
}
}
tempArr.push(specialNum);
return tempArr;
};
const createTime = async () => {
console.log("starting function");
const currentTime = currentDate();
const currentDay = new Date().getDay();
const findLottery = await LotteryModel.findOne({ lotteryDate: currentTime });
if (findLottery) return;
if (currentDay === 0 || currentDay === 3) {
console.log("starting day");
const allLottery = await LotteryModel.find({});
const lotteryNumbers = { lotteryNumbers: createNumbers(), lotteryDate: currentTime, id: allLottery.length };
console.log(lotteryNumbers)
console.log("middle");
await LotteryModel.create(lotteryNumbers);
console.log('finish create numbers')
}
};
createTime();
字符串
的数据
的
的
1条答案
按热度按时间v7pvogib1#
调度程序在可以访问应用程序代码的one-off dyno上运行命令。您不需要在该环境中使用
heroku run
(正如您所发现的,Heroku CLI在那里不可用)。而不是
字符串
使用
型