我正在尝试抓取一个网站,并在抓取后向 Telegram 发送警报。它在没有 Docker 的本地环境中运行。在使用 Docker 进行设置后,我开始收到 \'ETIME...
我正在尝试抓取一个网站,并在抓取后向 Telegram 发送警报。它在没有 Docker 的本地环境中工作。在使用 Docker 设置它之后,我在发送警报时开始收到 \'ETIMEDOUT\' 错误。我很困惑为什么会发生这个错误,因为我仍然可以抓取网站。我尝试过重新启动容器并添加 Google DNS,但它仍然无法持续工作。有时,它尝试几次后会成功,然后继续失败。我很确定 URL 也是正确的。我的操作系统是 Ubuntu。
我用其他 api 做了一些测试。当我调用 google.com 和 jsonplaceholder 时,它可以工作。只有使用 telegram bot api 时才不起作用。域名是 https://api.telegram.org 。其他人说要使用代理。但我住在泰国,甚至无法从我当地的 docker 容器调用。
这是我的 Axios 代码和错误消息。
async sendToTelegram(text: string) {
let token = process.env.TELEGRAM_BOT_TOKEN;
let url = `https://api.telegram.org/bot${token}/sendMessage`;
console.log(url);
let group_id = process.env.TELEGRAM_GROUP_ID;
let params = {
chat_id: group_id ? group_id : "",
text
};
await axios.get(url, { params });
}
我正在通过 DigitalOcean 使用 crontab 来运行计划的 cron,我已经设置了一些并且运行正常。但是,我需要运行一个具有以下时间表的 cron:1 日、7 日、10 日早上 8 点...
我正在通过 DigitalOcean 使用 crontab 来运行计划的 cron,并且我已经设置了一些并且运行正常。但是,我需要运行一个具有以下时间表的 cron:
一月、四月、七月、十月、十一月和十二月的 1 日、7 日、10 日和 12 日上午 8 点
现在我每天都在运行它,代码正在检查当前日期是否与我的计划相符,但我认为如果在 crontab 中设置计划会更好:
0 8 * * * /usr/bin/php /var/www/crons/file-to-run.php
有人能帮我将上述内容转换为我想要的时间表吗?
更新 :我已经使用 crontab guru 尝试解决这个问题,我得到了这个:
0 8 1,7,10,12 1,4,7,10,11,12 * /usr/bin/php /var/www/crons/file-to-run.php