jjzjj

job-queue

全部标签

ruby - Delayed_job - 多个并行队列?

我正在使用delayed_job并转移到一个更强大的新服务器。所以现在我想运行并行作业,就像现在一样IhavethePOWER!,但对delayed_job是否可以运行多个并行队列感到困惑?Thisquestion建议有命名队列,但这些队列是否都在一个表中运行,因此是顺序的?在底部@JesseWolgamott建议您可以为每个队列创建一个表,然后并行运行。有没有人这样做过,他们能告诉我是怎么做到的吗? 最佳答案 这是可能的,而且我一直在这样做。在我们的例子中,我们需要多个作业来处理三种不同类型的作业,比如queue_a、queue_

ruby-on-rails - 如何调试在 IRB 控制台的 delayed_job 任务中运行的代码?

我有一个使用delayed_job运行的后台任务。我可以看到它确实从日志语句运行。与在前台运行相比,它似乎没有正确的结果,所以我想在IRB控制台中调试它。我正在运行后台任务rakejobs:work并且它不会触发调试器语句。如何加载调试器? 最佳答案 启动一个标准的rails控制台rubyscript/console并在此处启动一个worker,这将看到并触发调试器语句。worker=Delayed::Worker.newworker.start 关于ruby-on-rails-如何调试

ruby-on-rails - 如何在 Rails 中使用 delayed_job 取消预定作业?

我正在安排一项工作,比如在10分钟内运行。如何在不使用模型中任何类型的肮脏额外字段等的情况下正确取消此特定作业。是否有删除特定作业或与特定模型、实例等相关的作业的调用? 最佳答案 免责声明:我不是delayed_job的专家用户...“是否有删除特定作业或与特定模型、实例等相关的作业的调用?”Delayed::Job只是一个ActiveRecord对象,因此您可以找到并销毁任何这些记录。根据您的用例,这可以用不同的方式处理。如果有人要手动销毁它们,这可以通过您的网络应用程序中的管理界面来处理。#listalljobsDelayed:

ruby-on-rails - 登录 delayed_job?

我无法从delayed_job获得任何日志输出,而且我不确定我的作业是否开始。这是我的Procfile:web:bundleexecrailsserverworker:bundleexecrakejobs:workworker:bundleexecclockworkapp/clock.rb这是工作:classScanningJobdefperformlogger.info"loggingfromdelayed_job"enddefafter(job)Rails.logger.info"loggingfromafterdelayed_job"endend我看到发条输出到系统输出,我可以看

ruby-on-rails - 在 Delayed_job 中手动重试作业

Delayed::Job的自动重试功能很棒,但现在有一个作业我想手动重试。有没有一种方法我可以调用工作本身,比如...Delayed::Job.all[0].perform或者跑,或者什么的。我尝试了一些东西,并梳理了文档,但无法弄清楚如何执行作业的手动重试。 最佳答案 手动调用作业Delayed::Job.find(10).invoke_job#10isthejob.id如果成功运行,这不会删除作业。您需要手动将其删除:Delayed::Job.find(10).destroy 关于r

ruby-on-rails - 如何用monit监控delayed_job

网络上是否有关于如何使用Monit监控delayed_job的示例??我能找到的所有东西都使用God,但我拒绝使用上帝,因为在Ruby中长时间运行的进程通常很糟糕。(上帝邮件列表中的最新帖子?GodMemoryUsageGrowsSteadily。)更新:delayed_job现在带有samplemonitconfig基于这个问题。 最佳答案 下面是我如何让它工作的。使用collectiveideaforkofdelayed_job除了积极维护之外,这个版本还有一个不错的script/delayed_job可以与monit一起使用的

javascript - queue.js 是如何工作的?

我一直在努力理解MikeBostock'squeue.js有效,但我看不到它是如何工作的。我不明白的部分是代码如何设法继续执行回调。特别是,我不确定pop()方法(第45行)。据我了解,该方法采用下一个未处理的延迟函数;附加一个回调,它(可能)启动队列中的下一个延迟函数,并在立即弹出的函数完成时执行;然后最终执行所述功能。我的问题是:什么代码执行这个回调? 最佳答案 每个延迟函数实际上并不返回任何东西——它们应该作为回调执行它们的最终参数。例如,这将不起作用varfoo=function(i){console.log(i);retu

JavaScript 事件循环 : Queue vs Message Queue vs Event Queue

阅读了大量的JavaScript事件循环教程,我看到了不同的术语来标识队列存储消息,当调用堆栈为空时,事件循环准备好获取消息:队列消息队列事件队列我找不到规范的术语来识别它。甚至MDN似乎也对theEventLooppage感到困惑因为它首先称它为队列,然后是消息队列,但在标签中我看到了事件队列。循环的这一部分是否在某处进行了详细定义,或者它只是一个没有“固定”名称的实现细节? 最佳答案 问得好,我也提倡使用正确的术语。队列、消息队列和事件队列指的是同一个构造(事件循环队列)。此构造具有在事件循环中触发的回调。有趣的是,有两个不同的

javascript - 查询。 queue() 与使用回调函数有何不同?

html:helloworld!js:(使用回调)$('span').click(function(){$(this).animate({fontSize:'+=10px'},'slow',function(){//callbackafterfontsizeincreased$(this).text($(this).text()+'rolled!');});});因此每次单击SPAN时,文本都会在字体大小增加后“滚动”附加,而不是一起发生。它也可以通过使用queue()来完成,就像这样:js:(使用队列())$('span').click(function(){$(this).anim

JavaScript Array、Stack、Queue——这种特定 API 设计背后的动机是什么?

在我的日常工作中,我主要使用C#,偶尔使用javascript,所以请javascript大师不要粗暴地判断我的问题!Array通过提供push和pop方法实现Stack,但是peek不见了,为什么?(是的,实现起来很简单,但仍然)Array实现了Queue,但是操作被命名为push-shift或unshift-pop而不是enqueue和dequeue,为什么命名不同?这是受Python和Ruby启发的吗?为什么将Array、Stack和Queue的API合并到一个对象中,而不是分离接口(interface)并为其创建不同的对象?是因为实现便宜吗?从语义上讲,在许多语言(C#、C++