title: Celery beat with method tasks not working
body: <p>I'm trying to run celerybeat on a method task, and can't get anything to work out properly. Here's an example setup: </p>
  
  <pre><code>from celery.contrib.methods import task_method
  from celery import Celery, current_app
  
  celery=celery('tasks', broker='amqp://guest@localhost//')
  celery.config_from_object("celeryconfig")
  class X(object):
      @celery.task(filter=task_method, name="X.ppp")
      def ppp(self):
          print "ppp"
  </code></pre>
  
  <p>and my celeryconfig.py file is</p>
  
  <pre><code>from datetime import timedelta
  CELERYBEAT_SCHEDULE = {
        'test' : {
                 'task' : 'X.ppp', 
                 'schedule' : timedelta(seconds=5)
                 }, 
   }
  </code></pre>
  
  <p>When I run <code>celery beat</code>, I'm getting errors like:</p>
  
  <pre><code> task X.ppp raised exception, TypeError('ppp() takes exactly 1 argument, (0 given)  
  </code></pre>
  
  <p>When I turn the method into a normal function and decorate it with `@celery.task', it does work, so the rest of the setup seems to be working. I see the caveats <a href="http://docs.celeryproject.org/en/latest/reference/celery.contrib.methods.html" rel="nofollow">in the docs about method tasks</a>, but can't really sort out where the problem is. Does anyone know how to resolve this? </p>