问题标签 [concurrent-ruby]

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 投票
0 回答
43 浏览

ruby - 如何使用 Sucker_punch 删除未来的工作

我正在使用吸盘未来的工作,但有时我需要在另一个请求中将其删除,然后才能执行。

为此,我必须通过传递给工作的参数找到它,然后才能杀死它。

0 投票
0 回答
106 浏览

ruby-on-rails - 并发红宝石在使用 Rails 5 进行数据库调用时很慢

我一直在使用并发红宝石 1.1.5 与 Rails 5.1.6 和 MySQL 8.0。我必须进行 500 次数据库调用,所以我尝试使用并发 ruby​​ 进行调用,但结果比预期的要慢得多

正常循环调用 - 这平均需要 7-8 秒

更改代码并使用并发 ruby​​ 后,此时间增加到 12-13 秒

无法调试导致并发请求变慢的可能原因。我错过了什么吗?

0 投票
2 回答
36 浏览

concurrent-ruby - 如何取消其他期货?

我正在创造多个未来,我希望只有一个能够实现预期目标。

如何从未来中取消所有其他期货?

这就是我创建期货的方式:

0 投票
1 回答
65 浏览

jruby - ActiveRecord 事务:已创建但在数据库中未找到的记录

我们在 Jruby 上使用 Rails v6.0.2.1 和托管在 DigitalOcean 上的托管 PostgreSQL(使用 JDBC 适配器)。最近,我们看到某个事务创建了一些记录,将 Id 扔给 Sidekiq 进行进一步处理,但数据库中没有该记录,Sidekiq 失败,因为在 db 中找不到该记录。

事务内部也有一些 Concurrent::Future 调用。DigitalOcean 在上述时间段内没有显示任何死锁。目前,DO 不提供 PostgreSQL 日志转储。我们如何调试这个?

在查看 Rails 生产日志时,我们发现这些事务也没有记录任何BEGIN... COMMITORROLLBACK消息。