问题标签 [job-queue]

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.

0 投票
2 回答
163 浏览

c# - 在作业队列表本身中包含作业详细信息还是在单独的表中包含详细信息?

我目前正在设计一个模块,服务或控制台应用程序将从 JobQueue 表中读取 Job。我设计了 JobQueue 表,其中包含以下信息:

JobId: int 主键

作业类型:int notnull

状态:varchar notnull

CreatedOn: datetime notnull

LastModifiedOn:日期时间可为空

CompletedOn:日期时间可为空

引入 JobType 属性主要是为了使该表更通用,而不是针对特定类型的工作。我的问题是是否将要执行的作业的详细信息保留在此表本身或其他具有作业 ID 引用它的表中?这是因为我在其他表中有可用的数据。因此,在执行作业时,我们可以间接获取数据。为了避免重复信息,我想到了这样的事情。这是一个好方法吗?需要你的建议

0 投票
0 回答
157 浏览

python - Http xmpp多线程进程

我正在使用一个名为 slimxmpp 的 python 库来实现 xmpp 协议。
其实整个过程是,一个客户端向我发送一个http请求,然后我需要通过我的ssloughxmpp库向其他客户端发送xmpp消息。
我需要在队列中收集这些 http 请求,而我的 slimxmpp 需要长期监听队列并发送 xmpp 消息。
python中是否有任何库可以帮助我做到这一点?

0 投票
1 回答
201 浏览

php - Is there a job queue system that allows tasks to be dependent on other tasks?

For example, I'm working on a deployment app. Let's say we deploy 4 branches from SVN, that requires 4 svn export from subversion. This may take a while depending on the branch we check out so I was thinking of sending this to a job queue. When all jobs are complete, then and only then do we want to restart our application services.

Is there a job queue that can do this? I think the closest I've seen is celery since it takes results into a database.

0 投票
3 回答
746 浏览

java - JVM 的分布式故障安全作业队列

我需要为分布式 JVM 应用程序实现一个作业队列。

队列必须包含一组必须按顺序执行的作业(即 Java 可运行文件)。将有数百个“作业组”或队列应该在集群上自动并行化。作业队列必须是故障安全的,以便在机器崩溃的情况下,整个应用程序将继续运行。

此外,我不想重新发明 Weel,所以如果已经有一个库或框架可以满足我的要求,我将不胜感激。

问题:我应该使用什么技术?akka合适,还有其他库可以推荐吗?

0 投票
1 回答
1870 浏览

node.js - 如何使用 Kue 处理计划的、重复的工作?

在我的 webapp 中,用户可以创建需要在每个月的特定日期生成和发送的定期发票。例如,可能需要在每月 5 日发送发票。

我正在使用 Kue 来处理我所有的后台作业,所以我也想在这种情况下这样做。

我目前的解决方案是使用每小时setInterval()创建一个工作。processRecurringInvoices然后,此作业将从数据库中查找所有定期发票,并generateInvoice为每个定期发票创建一个单独的作业。

然后,该generateInvoice作业将实际生成发票,如果需要,还将创建一个sendInvoiceToEmail通过电子邮件发送发票的作业。

目前这个解决方案对我来说看起来不错,因为它很好地分离了关注点,但是,我有以下问题:

  1. 我不确定是否应该等待所有“子”作业完成,然后再调用主要processRecurringInvoices作业的 done()?
  2. 我应该在哪里处理错误?我应该将它们交还给processRecurringInvoices工作还是应该为每项工作单独处理它们?
  3. 我如何确保如果处理需要很长时间(超过一个小时),并且其中一个processRecurringInvoices或任何一个子作业仍在运行,processRecurringInvoices则不会再次创建该作业?有点像一份独特的工作,还是相互排斥?
0 投票
2 回答
994 浏览

node.js - 工人可以向生产者发送消息吗

我有一个具有以下情况的 NodeJS 应用程序:我收到用户的请求,要求计算需要使用非常复杂的数学公式的东西。目前,我在那一刻运行整个过程,找出值,然后将其发送回用户。不幸的是,这不是很异步友好:)

相反,我想做的是在后台运行整个操作,一旦任务完成,工作人员就会返回给我计算的值是什么,然后我将其发回给用户。

我一直在查看各种工作队列,包括KueCeleryResqueBeanstalk,但似乎没有一个提供此功能。它们非常适合发送电子邮件或运行不需要接收某种价值的任何类型的工作,只是简单地说它是否成功,但似乎没有任何东西允许worker 将自定义消息实际发送回创建任务的原始生产者。

我说上述队列都不支持这一点是错的吗?如果是这样,请指出我可以在文档中了解如何使用此功能的位置。否则,您能否指出任何其他支持此功能的人?

0 投票
0 回答
132 浏览

worker - 工作排队软件的工作原理

我有一个小网站,我允许人们注册帐户。我希望在某人注册后,向他/她发送一封欢迎电子邮件和一封确认电子邮件。我想尝试使用工作排队系统来做到这一点.

我以前从未使用过工作排队系统,但这是我想做的。

我希望有一些工作优先于其他人。例如,如果有人来自我的区号,我希望尽快或立即发送确认电子邮件,而如果用户来自国外,我想在之后发送确认电子邮件几分钟,比如说五分钟。

我的问题是如何处理实际工作。如果工作优先于其他工作并且其他一些工作人员在工作开始前等待五分钟或更长时间,是否可以让工作人员立即处理一些工作。

第二个问题,作业排队系统如何知道队列中有一些作业?排队系统是否在每个设定的时间(即 5 分钟)后轮询队列,或者是否有某种机制让它通知新到达的作业?

0 投票
1 回答
699 浏览

architecture - 设计一个作业排队系统,其中每个用户在任何给定时间只能由工人处理一个作业

我有一个工作队列,有多个工人在看这个队列。(每个作业对应一个用户)。在任何给定时间,队列中的每个用户都可能有多个作业。

我不希望我的员工在任何给定时间为每个用户处理超过 1 个工作。仅当当时没有其他工作人员处理该用户时,该工作人员才应选择该用户的工作。如果用户的工作正在由工作人员处理,我还希望下一个用户工作在完成后立即被选中。

我想让我的工人用户不可知(即,任何工人都应该能够处理任何用户的工作)。这将帮助我水平扩展。

我应该怎么做?我想为每个用户创建单独的队列,但工作人员将不得不观看大量队列并可能浪费资源。我现在使用 beanstalkd 作为队列服务器。

任何帮助表示赞赏。

0 投票
1 回答
2150 浏览

zend-framework - Zend 框架 ZEND_QUEUE 实现

我是 ZEND 的新手,我正在开发版本 (ZEND 1.11.1) 我正在尝试在我的 zend 应用程序中实现 ZEND_QUEUE,但没有适合我的教程。我一直在尝试实现队列。

我正在为数据库开发一个队列。应用程序的工作流程如下: 1. 用户通过应用程序输入 SQL 查询并等待结果。2. 查询成功完成后,查询将移至 QUEUE 并由数据库处理。查询应该将结果发送给用户。

在我的控制器内部:

我面临的问题是我无法理解要在哪个文件夹中添加代码。

我没有在我的应用程序中使用模型,因为应用程序的要求是仅使用 CONTROLLER 和 VIEW。

此外,当我尝试扩展 Zend_Queue_Adapter_Db 时,我收到以下错误:

致命错误:找不到类“ZendJobQueue”

或者

致命错误:在 F:\wamp\www\helloworld\library\Zend\Controller\Dispatcher\Standard.php:242 中未捕获的异常 'Zend_Controller_Dispatcher_Exception' 和消息 'Invalid controller specified (error)' 堆栈跟踪:#0 F:\wamp \www\helloworld\library\Zend\Controller\Front.php(946):

请建议我正确的文件夹或任何有助于初学者使用 ZEND JOBQUEUE 的教程。

0 投票
2 回答
419 浏览

queue - MSMQ 作为作业队列

我正在尝试使用 MSMQ 实现作业队列,以节省我在 SQL 中实现它的时间。在阅读之后,我意识到 MSMQ 可能无法提供我所追求的。如果我的计划使用 MSMQ 是现实的,您能否建议我或推荐一个替代方案?

我有多个进程从队列中获取作业(我将来可能需要扩展),一旦作业被拾取处理,在此期间作业被状态锁定到其他进程,如果需要的作业被退回(状态再次更改)到队列以进行进一步处理,但实际上该作业仍然位于队列中直到完成。

MSMQ 不允许我在处理消息时将消息保留在队列中,例如我可以偷看或阅读。Read 将消息从队列中取出,peek 不允许更改消息(状态)。

谢谢