使用slack-api-gem在轨道中实现线程安全



我刚刚开始使用rails。在我的应用程序中,我必须访问Slack api,所以我使用Slack api gem。配置方式是

Slack.configure do |config|
  config.token = "token"
end

我想知道,由于令牌是在类级别"Slack"配置的,这会导致任何不一致的行为吗?一个请求可能会将其设置为值A,在完成之前,另一个请求也可能会将它设置为值B。

虽然Ruby web框架通常是单线程的,但情况并非总是如此。因此,如果令牌在多个请求中不同,很可能会导致问题,很难推理,或者从长远来看会成为问题。

试试更新的宝石,https://github.com/dblock/slack-ruby-client它将在初始化器中取一个令牌,即Slack::Web::Client.new(token: 'token')Slack::RealTime::Client.new(token: 'token'),应该完全避免这个问题。

最新更新