我刚刚开始使用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')
,应该完全避免这个问题。