# How to model Pub_Sub using a processor?

  1. First define the message as a publishable message.

    publishable message RetryFailedRequests
    
  2. subscribe to this message in the respective processor

    processor RequestManager {
     subscribe message-ref RetryFailedRequests
    }
    
  3. Implement the process method to handle the subscribed message in RequestManagerProcessorCode.scala :

    override def process(alarm: RetryFailedRequests.type): Unit = {
     //todo: retry all the failed requests
    }
    
  4. In order to publish this message use SmileAsyncService:

    Smile.grab[SmileAsyncService].publish(message = RetryFailed)