问题标签 [exq]

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 回答
327 浏览

redis - Phoenix with exq:如何在不运行 redis 的情况下执行混合测试

我在 Phoenix 1.4.16 的 Phoenix 应用程序中使用 exq 来运行一些后台作业。

其中之一可以像这样简单:

它在开发环境中完美地与redis一起运行。

问题是当我将代码推送到没有 redis 的 CI 服务器时,所有测试都失败了。

测试配置是这样的

config/test.exs 中

test/test_helper.exs 中

当我在没有运行 redis 的机器上运行“混合测试”时,它会像这样失败:

实际上我尝试了所有 3 种模式:redis:fake:inline,但它们都无法启动混合测试。

问题:我可以在没有 redis 的机器上运行“混合测试”吗?

原因是我们公司不想在Travis CI机器上安装redis。

我希望在测试环境中使用 Exq Mock 可以让测试在没有 redis 的情况下运行,但事实并非如此。

0 投票
2 回答
109 浏览

ruby-on-rails - 使用 exq 和 Sidekiq 在 rails 和 phoenix 之间进行通信

我正在尝试在 Rails 和 Phoenix 框架之间添加桥梁以进行通信。到目前为止,我可以在 Rails 中排队工作,这些工作由 Exq 在 phoenix 框架中获取。

但是我在从 Elixir 排队工作以获取 Rails 时遇到问题。我试过这个,它排队工作

但是 Rails 一侧的 Sidekiq 会抛出错误"error_message\":\"undefined method jid=' for #< RailsQueueJob:0x00007fe599dfda50>。碰巧没有这方面的文档。我怎样才能从 elixir 中入队并让 Sidekiq 接手工作。

0 投票
1 回答
92 浏览

elixir - 运行 Elixir exq 工作人员时模块不可用

我使用 Elixir exq构建了一个异步作业处理应用程序。文档说我可以使用终端(带有iex -S mix)或作为独立应用程序(带有mix exq.run)运行应用程序。当我在终端上运行时,一切正常,但是当我运行独立应用程序时,我在获取作业时收到此消息:

我究竟做错了什么?

这是我的lib/my_worker.ex文件:

和我的mix.exs

我的config/config.exs