1

我正在集群模式下评估 arangodb“社区版”v.3.7.6。目前,我正试图弄清楚如何通过我的 foxx 服务中的队列可靠地安排定期重复发生的工作。我已经阅读了此处此处的文档页面,并提出了以下脚本:

setup.js

const queues = require('@arangodb/foxx/queues')

var myQueue = undefined
try {
    myQueue = queues.get('myqueue')
} catch (e) {
    myQueue = queues.create('myqueue')
}

myQueue.push({
    name: "myRegularTask",
    mount: module.context.mount
},
{to: 'hello@example.com', body: 'Hello world'},
{
  repeatTimes: Infinity,
  repeatUntil: Date.now() + (24 * 60 * 60 * 1000),
  repeatDelay: 5 * 1000
});

myRegularTask.js

'use strict';

const db = require('@arangodb').db;

const testCollection = db._collection('test')

testCollection.save({text: 'sample text'});

清单.json

{
  "$schema": "http://json.schemastore.org/foxx-manifest",
  "main": "index.js",
  "engines": {
    "arangodb": "^3.0.0"
  },
  "name": "myapp",
  "version": "0.1.0",
  "tests": "test/**/*.js",
  "scripts": {
    "setup": "scripts/setup.js",
    "myRegularTask": "scripts/myRegularTask.js"
  }
}

testCollection所以我认为它应该做的是,一旦我安装了我的 foxx 服务,它就会注册一个每 5 秒执行一次的常规作业(并在我的 foxx 服务中插入一个文档)。它实际上有时会这样做。然而,大多数时候,不管我等多久,什么都没有发生。

这就是这篇文章的问题:为什么上面代码的行为对我来说是不确定的?我做错了什么让它总是工作?

谢谢赛博

4

0 回答 0