问题标签 [worker]

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 投票
1 回答
1518 浏览

php - Magento 是线程安全的吗?

有人将 Magento 与 Apache worker MPM 一起使用吗?

我已经阅读了使用 worker 而不是 prefork 的相互矛盾的稳定性和安全性报告,但也读到 worker 比 prefork 快得多。

0 投票
3 回答
216 浏览

java - Java Swing 线程问题

所以这就是问题所在。我有一个由 3 个组合框、一个文本字段、几个按钮和一个 JTable 组成的 JDialog 框。JTable 信息根据文本字段和组合框进行过滤,因此例如它以所有数据开头,然后缩小为仅以用户决定的任何字符串值开头的数据。

但是发生的情况是,虽然值过滤正确,但如果我单击 JTable(在没有行的空白区域中),那么被删除的行会显示出来,就像在我单击它们之前它们是不可见的一样。我几乎试过了一切:每次单击过滤器时,我都尝试重新创建表(甚至不起作用的坏技巧),我已经调用了所有的重绘、重新验证、更改方法,我从头开始重写了对话框以确保我没有犯任何愚蠢的错误(如果我犯了一个,至少我没有找到它),并且我尝试将它们放在不同的线程上。我没有尝试过的唯一解决方法是使用摇摆工人,但那是因为我的过滤有点太复杂,我无法弄清楚什么去哪里以及如何正确扩展摇摆工人。GUI 是由 netbeans (bleh) 生成的,并且在我的其他十几个 JDialogs 中工作得很好(实际上是完美的)。这是过滤的方法,如果您能提供帮助,将不胜感激。

更新,我还从下面的评论中实现了过滤器,虽然它过滤掉了正确的数据,但它有完全相同的问题。不过,将来我可能会使用此过滤器功能,所以谢谢。

另一个更新,即使删除了除此块之外的所有内容,代码仍然失败,并且所有(至少我相信..)我在这里做的是做一个简单的删除行调用。希望这个对你有帮助。

0 投票
2 回答
1875 浏览

php - Gearman PHP,sendComplete 没有效果

已成功将 Gearman 连接到现有 PHP 项目。使用supervisord来保证workers在运行,已经产生了相当不错的效果!

然而,我有一个关键问题,即“setCompleteCallback”根本不起作用。

拆分有点像这样:

客户

工人

(基本上引导 Zend Framework 环境,并加载 exec 函数)

最后,这里是包含所有繁重工作的 LDPE_Service_AWSConnect_Transfer_Target 类。我已经删掉了所有的逻辑,它根本没有触发。

实施方法

为了清楚起见,“transferStart/begin”和“transferStart/complete”字符串被正确打印到日志中,但是,transferComplete/begin 永远不会被触发。这是怎么回事?

谢谢!亚历克斯


似乎在后台模式下运行时回调不会触发..

0 投票
1 回答
3479 浏览

node.js - 在 Heroku Cedar 上正确实现 node.js 工作进程

我有一个需要定期运行的进程 - 在 Rails 应用程序上,它将是一个工作进程。Heroku 上是否有 node.js 的等价物?

我目前正在使用 node-cron 在与我的 Web 应用程序相同的服务器上运行定期进程。这里的问题是:

  • 只有 1 个 web 进程,服务器空闲时它不会运行
  • 它将在运行时阻止传入连接
  • 扩展时,流程不需要在多台服务器上运行

如果 Heroku 还没有处理这个问题,我有兴趣在这里查看其他 Node PAAS 提供者的解决方案。

0 投票
1 回答
1458 浏览

heroku - Delayed::Jobs 在 Heroku 上运行两次?

我在 Heroku 上运行 Delayed::Job 时遇到问题。大多数排队等待延迟执行的作业会运行两次(有时只运行一次)。因此,我的大部分 Sendgrid 电子邮件都是重复发送的,而我的大部分 ActiveMerchant 交易都试图自行结算两次!

我们在 Heroku 实例上运行了 2 个工作人员。巧合?我认为我们需要两个,因为我们还有一个用于备份和东西的 cron。

两次发生的工作彼此重叠(非常接近)。这是一个竞争条件,但由什么引起的?

具体如下:

我们运行 10 个网络测功机,并拥有一个 Ronin 数据库。插件方面我们有:

在 Gemfile 中:

我的处理程序看起来像:

并像这样排队:

我尝试了很多不同版本的 DJ,但这是我唯一可以在 Heroku 上工作的版本。

非常感谢任何建议。这对我们的网站非常不利。

0 投票
2 回答
3127 浏览

java - 如何在 Java 中创建“事件驱动”后台线程?

我喜欢将invokeLater()工作单元发送到 AWT EDT 的简单性。最好有一个类似的机制来将工作请求发送到后台线程(例如 SwingWorker),但据我了解,这些没有任何类型的事件队列和调度机制,这正是 invokeLater() 所依赖的。

因此,相反,我最终为我的后台线程提供了一个阻塞队列,其他线程向该队列发送消息,并且线程本质上运行一个接收循环,阻塞直到消息到达。

事实上,这可能正是人们在后台线程中实现类似 EDT 行为的方式(或者会这样吗?)。另一方面,我喜欢简单的线程,它只是惰性地悬挂在那里,每当它们碰巧从天空中一些看不见的事件调度队列被调度到它时处理“工作液滴”。Java 是否提供了一种方法来创建这种“事件驱动的工作线程”?还是消息队列是正确的方法呢?与此相关的是invokeLater(),消息传递技术是否存在缺点?

0 投票
2 回答
5034 浏览

wcf - 无法连接到工作角色中托管的 WCF 服务

我创建了一个 WCF 服务,并通过工作角色将其托管在云中。不幸的是,当我尝试连接到辅助角色服务时,我收到一条异常消息:“主机 3a5c0cdffcf04d069dbced5e590bca70.cloudapp.net 不存在 DNS 条目。” 3a5c0cdffcf04d069dbced5e590bca70.cloudapp.net 是部署在 azure 暂存环境中的辅助角色的地址。workerrole.cs 具有以下代码来公开 WCF 服务:

tcppoint 和 mexinput 配置了端口 8001 和 9001。Domain 还配置了工作角色部署 url:3a5c0cdffcf04d069dbced5e590bca70.cloudapp.net

在客户端部分(控制台应用程序),我们在 app.config 中使用以下配置:

以下代码是使用 msdn 中提供的示例代码作为背景构建的。在本地,它工作正常。不幸的是,当我将它部署到云时,会发生异常。此外,当我使用虚拟 ip 而不是 url 时,会发生连接超时,除非远程机器没有响应。

0 投票
2 回答
3586 浏览

php - 将工作服务器与 php 应用程序一起使用的指南

我已经构建了一个 PHP 应用程序,并且我读到在调用 api 或执行耗时的操作时使用“worker”+ 队列服务器是最佳实践。

快速搜索教程已经枯竭。我已经使用 codeigniter 构建了我的应用程序,并且我确实对 facebook api 进行了各种调用 + 在整个应用程序中使用基于 php 的图像处理。我唯一想知道的是,如果我正在执行 api 调用或调整我的图像大小,并且用户通常不关心从我的服务器获得响应,直到它完成,队列服务器+worker 将如何帮助我。

什么情况下适合工作人员 + 队列服务器,是否有任何指南可以将这些内容包含在我的应用程序中?最近我在我的应用程序中包含了 memcache,这非常简单。我只是用 memcache 处理程序包装了我的 sql 查询。

0 投票
2 回答
2655 浏览

azure - 如何检测环境是在 azure 托管服务工作者角色中暂存还是生产?

我在我的托管服务中有一个工人角色。工人每天都在发送电子邮件。但是在托管服务中,有 2 个环境,Staging 和 Production。所以我的工人角色每天发送 2 次电子邮件。我想知道如何检测工人是否处于停滞或生产状态。提前致谢。

0 投票
1 回答
695 浏览

javascript - Android 上的 JQuery.Hive(工作线程)

我目前正在编写一个应用程序,显示我们大学食堂的菜单计划。为了使其独立于平台,我使用Phonegap;XML-Parsing 是在 JQuery 的帮助下完成的,布局是用 JQuery Mobile 生成的。

在我的 motorola defy 上解析菜单的 XML 文件大约需要 1-2 秒。例如,如果您通过单击单选按钮将位置更改为另一个自助餐厅,则 GUI 将冻结这一秒。我在 JavaScript 中找到了工作线程的概念,并决定将 XML 数据的解析委托给工作线程。不幸的是,我不得不发现 JQuery 在工作线程中不起作用 :-( 然后我发现插件 JQuery.hive 似乎解决了我的问题。我现在在 hive 环境中创建线程,发送消息,在内部处理它工作线程并收到答案。不幸的是,这仅适用于 Firefox,不适用于我的 Android/Phonegap-Application。

这是我生成 Worker 的地方:

这是工作线程:

火狐显示

Android Broswer 在尝试启动线程时取消脚本并仅显示:

JQuery.hive 是否应该在 Android 下运行?有没有更好的方法来解决我在不冻结 GUI 的情况下解析 XML 的问题?

提前致谢,

汤姆