title: Can I define the celery queue property on a Task at runtime?
body: <p>Use case:</p>
  
  <pre><code>class MyTask(Task):
      queue = 'default_queue'
  
      def run(self):
          # do work
  </code></pre>
  
  <p>Normally I would run the following which would use the 'default_queue' specified.</p>
  
  <pre><code>MyTask.delay()
  </code></pre>
  
  <p>What I need to do is something like:</p>
  
  <pre><code>if hours_since_last_login &gt; 24:
      MyTask.delay()   # using the queue 'high_priority_queue'
  else:
      MyTask.delay()   # using the 'default_queue'
  </code></pre>
  
  <p>I know I can subclass MyTask to override the <code>queue</code> property, but is there a way to define it at runtime?</p>
  
  <p>Is this the following the correct way to do it?</p>
  
  <pre><code>task = MyTask()
  task.queue = 'high_priority_queue'
  task.delay()
  </code></pre>