Является ли Typhoeus потокобезопасным? - PullRequest
1 голос
/ 19 июня 2020

Я так и использую. Мне трудно найти четкий ответ после очень большого количества поисков в Google.

Если использовать следующим простым образом:

class CancelSubscriptionWorker
  include Sidekiq::Worker

  sidekiq_options retry: 3

  def perform(body)
    resp = Typhoeus::Request.new("http://example.com", {
      method: :post,
      timeout: 27,
      body: body.to_json,
      userpwd: 'aaa:bbb',
      headers: {
        'Content-Type': 'application/json'
      }
    }).run
  end
end

и я делаю это внутри рабочего Sidekiq, это потокобезопасный?

Я не использую Hydra, и меня не интересуют keep-alive или пулы соединений. Я также не разделяю переменные между потоками. Приведенный выше код появляется в простом воркере Sidekiq, и этот воркер запускается много раз в секунду.

1 Ответ

0 голосов
/ 20 июня 2020

В ранних версиях были проблемы с гонкой, обратите внимание на это обсуждение: https://github.com/typhoeus/typhoeus/issues/301

но теперь все должно работать поточно

...