title: Golang background processing
body: <p>How can one do background processing/queueing in Go?</p>
  
  <p>For instance, a user signs up, and you send them a confirmation email - you want to send the confirmation email in the background as it may be slow, and the mail server may be down etc etc.</p>
  
  <p>In Ruby a very nice solution is <a href="https://github.com/collectiveidea/delayed_job">DelayedJob</a>, which queues your job to a relational database (i.e. simple and reliable), and then uses background workers to run the tasks, and retries if the job fails.</p>
  
  <p>I am looking for a simple and reliable solution, not something low level if possible.</p>