gpt4 book ai didi

atlasboard - 在没有调度程序的情况下使用 Atlasboard Job

转载 作者:行者123 更新时间:2023-12-01 02:00:47 25 4
gpt4 key购买 nike

在构建 Atlasboard 作业时,我想控制将数据推送到小部件的位置和时间。

  • 我找不到记录“间隔”配置参数的位置 - 我的理解是该作业被安排在每个间隔毫秒。
  • 我想控制我的工作何时更新小部件。因此我做了一个小测试:
    setInterval(function() {
    x = x+1;
    jobCallback(null, {title: config.widgetTitle + " - "+x});
    }, 10000);

  • 起初我很高兴,因为它似乎有效,但我注意到日志消息:
    [dashboard: xxx] [job: xxx] 14:04:27.93 <warn> WARNING!!!!: job_callback executed more than once for job xxx in dashboard xxx (scheduler.js)

    [dashboard: xxx] [job: xxx] 14:04:27.96 <warn> WARNING!!!!: job_callback executed more than once for job xxx in dashboard xxx (scheduler.js)

    [dashboard: xxx] [job: xxx] 14:04:37.94 <warn> WARNING!!!!: job_callback executed more than once for job xxx in dashboard xxx (scheduler.js)

    我可能会补充说,在几分钟后,工作似乎会自我复制,并且全局参数似乎没有在工作实例之间保持其全局值 - 这样我的单个“重复性工作”很快就会变成 10 个工作,而不是 100 个等等。

    有没有办法更好地控制何时将数据推送到小部件?
    是否有比 https://bitbucket.org/atlassian/atlasboard 更好的文档?和 http://atlasboard.bitbucket.org/ ?

    最佳答案

    我在搜索和查看 jobWorker 代码时发现了以下内容(我在任何地方都找不到任何文档)。

    有一个 pushUpdate 成员函数被添加到 jobWorker - 它看起来好像最好在 Job onInit() 期间使用 - 通过这种方式我们确保它只被激活一次!

    onInit: function (config, dependencies) {
    var jobWorker = this;
    var x = 0;
    setInterval(function() {
    x = x+1;
    jobWorker.pushUnpdate({title: config.widgetTitle + " - "+x);
    }, 10000);
    }

    请注意,如果您控制更新的调度,则无需实现 Job onRun() - 这意味着不会为您的 Job 激活调度程序。

    关于atlasboard - 在没有调度程序的情况下使用 Atlasboard Job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720584/

    25 4 0
    文章推荐: Magento:以编程方式创建 Magento 订单
    文章推荐: javascript - $ ('
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com