问题标签 [agenda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 服务器重新启动后议程作业不运行
我有一个议程作业,当我第一次定义它时,它运行得非常好。我可以在 MongoDB 中看到相应的文档,一切都很好。但是当服务器重新启动或我按“Ctrl+C”并终止进程时,重新运行我的应用程序后,该作业不会运行。
在git上也有很多关于这个问题的讨论。
我努力了:
1- 优雅地处理 SIGTERM
2- 运行 MongoDB 更新查询,并在启动应用程序时将 lockedAt、lastModifiedBy、lastRunAt 设置为 null。
两者都不为我工作。我可以在 MongoDB 中看到该作业未处于锁定状态,所以我很困惑为什么如果重新启动应用程序它不运行?
node.js - Agenda js:如果我的服务器在作业的预定时间停机会发生什么?
假设我有一个使用@agenda/agenda安排的工作,就像这样
我想知道如果我的服务器/节点脚本操作系统关闭会发生什么?
- 议程是否能够在下次服务器重新启动时重新启动过去的工作?
- 如果没有,我怎样才能达到同样的效果?
jestjs - 如何用 jest 测试议程作业?
我想测试我正在使用议程运行的作业。我编写了以下测试,但后来我意识到expect()...
在确定测试通过或失败之前,所有函数都没有被调用。我console.log()
在所有expect()
函数中都放了一些,它们确实在确定测试结果之前不会被调用。我尝试expect.assertions(6);
在测试顶部添加,但它并没有让测试等待更长时间,它只是失败说它没有找到所有 6 个。
如何让 jest 等待整个测试完成?
这是我要测试的代码:
rules.js
这是我的测试:
rules.test.js
node.js - 议程作业:now() 使作业运行多次
我正在安排一个议程工作,如下所示:
但是上面的命令使我的工作几乎每 1 分钟运行一次。但是当我把它改成
以上按预期工作,即它每 5 分钟运行一次作业。
但我不想要一份经常性的工作。而是运行一次。
emacs - 有没有办法在调用 org-agenda-columns 时设置缓冲区的宽度?
如果列议程视图跨越整个缓冲区宽度,那就太好了。有任何想法吗?
javascript - 使用议程时出现 UnhandledPromiseRejectionWarning
我通过议程包编写了一些代码,当我运行我的项目时,我得到了 UnhandledPromiseRejectionWarning。
我的代码在这里:
警告是这样的:
它的示例代码是这样的:
我像示例代码一样编写代码,但我不知道为什么会收到警告!
javascript - 使用 async/await 在议程中运行作业
我有一些分开的模块和模型。现在我想添加agenda
以调度模式运行的作业。当我编码sync
一切正常但我想用async
and处理它时await
。这是我的代码:
从“模型”导入{用户};
在我的anenda
索引文件中:
在我的一些路线中(仅用于测试)我这样称呼:
这里的问题是我user
记录它时的对象
我认为输出顺序错误:
我怎样才能制定议程以按预期工作的确切顺序 async/await
工作?
node.js - nodeJS议程在特定日期开始工作
有什么方法可以使用agenda
图书馆在特定日期开始工作吗?
这就是我创造工作的方式:
但此时工作在创建后立即开始,我想以某种方式指定它应该开始的日期,比如明天。
cron - 是否有一个 Cron 表达式可以在跨年边界每 5 个月后安排任务?
我有一个议程工作,我想每五个月安排一次。假设我在 1 月 20 日开始这项工作,那么现在的时间表应该是 2019 年 1 月 20 日、2019 年 6 月 20 日、2019 年 11 月 20 日、2020 年 4 月 20 日等等。
Agenda 使用 cron 进行调度。
问题00 00 20 1,6,11 *
在于它永远不会在 4 月运行,它将
在 2019-06-01 00:00:00
然后在 2019-11-01 00:00:00
然后在 2020-01-01 00:00:00运行
然后在 2020-06-01 00:00:00
然后在 2020-11-01 00:00:00。
我使用的另一个表达式是00 00 20 */5 *
. 下一个运行时间是
2019-06-20 00:00:00
,然后是 2019-11-20 00:00:00
,然后是 2020-01-20 00:00:00,
然后是 2020-06-20 00:00 :00
然后在 2020-11-20 00:00:00
但它们不是我希望它运行的月份,即每隔五个月运行一次。
node.js - 在 nodejs 中创建重复事件以更新或插入 MySQL 表
我有一个 MySQL 表任务。在任务中,我们可以创建一个普通任务或重复任务,它会自动在 MySQL任务表中创建一个新任务,并向用户发送一个任务已创建的电子邮件通知。经过大量研究,我发现您可以通过四种方法做到这一点
- MySQL 事件
- Kue, Bull, Agenda(node.js 调度库)
- 使用 cron 作业监控每天的任务
重复任务将在每周、每天、每月和每年重复。我们必须随时选择删除重复事件。什么是一个好的和干净的解决方案?