/ / Jak uzyskać wielowątkowość w rubinach na szynach? i jaki jest sposób, aby pobrać wątek, aby go zabić lub wznowić? - ruby-on-rails, ruby, wielowątkowość, ruby-rails-4, ruby-on-rails-4.1

Jak uzyskać wielowątkowość w rubinach na szynach? i jaki jest sposób, aby pobrać wątek, aby go zabić lub wznowić? - ruby-on-rails, ruby, wielowątkowość, ruby-rails-4, ruby-on-rails-4.1

Mój problem to: Mam tabelę zadań i przy każdym zadaniu inicjowany jest jeden wątek. W tych wątkach przetwarzają i wysyłają sms i czekają przez 2 minuty. To jest maksymalny czas. Teraz, jeśli użytkownik odpowie na SMS-y, chcę przerwać odpowiedni wątek, aby wykonać resztę przetwarzania.

Czy istnieje coś, dzięki czemu mogę znaleźć wątek po nazwie lub identyfikatorze z tej listy?

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że możesz odnieść się do tej odpowiedzi Tworzenie zegara w Ruby

user_input = Thread.new do
print "Enter something: "
Thread.current[:value] = gets.chomp
end

timer = Thread.new { sleep 3; user_input.kill; puts }

user_input.join
if user_input[:value]
puts "User entered #{user_input[:value]}"
else
puts "Timer expired"
end

jeśli upłynął czas timera, wyślij go do następnej osoby.