title: Celery tasks on multiple machines
body: <p>I have a server where I installed a RabbitMQ broker and two Celery consumers (<strong>main1.py</strong> and <strong>main2.py</strong>) both connected to the same broker.</p>
  
  <p>In the first consumer (<strong>main1.py</strong>), I implemented a Celery Beat that sends multiple times a different task on a specific queue:</p>
  
  <pre><code>app = Celery('tasks', broker=..., backend=...)
  app.conf.task_routes = (
      [
          ('tasks.beat', {'queue': 'print-queue'}),
      ],
  )
  app.conf.beat_schedule = {
      'beat-every-10-seconds': {
          'task': 'tasks.beat',
          'schedule': 10.0
      },
  }
  
  @app.task(name='tasks.beat', bind=True)
  def beat(self):
      for i in range(10):
          app.send_task("tasks.print", args=[i], queue="print-queue")
  
      return None
  </code></pre>
  
  <p>In the second consumer (<strong>main2.py</strong>), I implemented the task said above:</p>
  
  <pre><code>app = Celery('tasks', broker=..., backend=...)
  app.conf.task_routes = (
      [
          ('tasks.print', {'queue': 'print-queue'}),
      ],
  )
  
  @app.task(name='tasks.print', bind=True)
  def print(self, name):
      return name
  </code></pre>
  
  <p>When I start the two Celery worker:</p>
  
  <pre><code>consumer1: celery worker -A main1 -Q print-queue --beat
  consumer2: celery worker -A main2 -Q print-queue
  </code></pre>
  
  <p>I get these errors:</p>
  
  <pre><code>[ERROR/MainProcess] Received unregistered task of type 'tasks.print'
  </code></pre>
  
  <p>on the first consumer</p>
  
  <pre><code>[ERROR/MainProcess] Received unregistered task of type 'tasks.beat'
  </code></pre>
  
  <p>on the second consumer</p>
  
  <p>Is it possible to split tasks on different Celery Applications both connected to the same broker?</p>
  
  <p>Thanks in advance!</p>