2015-07-04 3 views
0

Есть ли способ отправить SMS с помощью Twilio асинхронно, точно так же, как отправка почты с использованием deliver_later. Я просмотрел документацию Twilio, но ничего не нашел по этому поводу. Моим главным мотивом является выполнение всех действий, таких как записи обновлений для всего пользователя, а затем отправка SMS после этого каждому пользователю. Мой код выглядит следующим образом:Асинхронные SMS с использованием приложения Twilio in rails

 message = 'One job is waiting for you' 
     number = @get_worker.phone_number 
     account_sid = '...' 
     auth_token = '...' 
     @client = Twilio::REST::Client.new account_sid, auth_token 
     begin 
     @message = @client.account.messages.create({:to => "#{number}",:from => "+181xxxxxxxx",:body => "#{message}"}) 
     rescue Twilio::REST::RequestError => e 
     puts e.message 
     #redirect_to job_details_path, notice: e.message 
     end 

ответ

0

Twilio разработчик евангелист здесь.

В самоцвете Twilio ничего не встроено, чтобы интегрироваться с фоновой очередью. Однако, если вы хотите, чтобы более активный интерфейс ActionMailer отправлял SMS-сообщения, включая интеграцию с ActiveJob для задержки запросов API, вы можете проверить Textris gem.

С помощью Textris вы создаете классы Texter, которые могут использоваться так же, как классы Mailer. Вот пример, показывающий различные задержки и доставка методы из README:

UserTexter.welcome(user).deliver_later 
UserTexter.welcome(user).deliver_later(:wait => 1.hour) 
UserTexter.welcome(user).deliver_later(:wait_until => 1.day.from_now) 
UserTexter.welcome(user).deliver_later(:queue => :custom_queue) 
UserTexter.welcome(user).deliver_now 

Textris интегрируется с Twilio, так что вы можете отказаться от этого в системе, чтобы использовать в своем приложении Rails и упростить асинхронные запросы API.

Смежные вопросы