This is how I've been using celery in my pyramid applications with success, in a way that seems to work whever celery changes some internals:
https://github.com/ergo/testscaffold/blob/master/testscaffold/celery/__init__.py
then in app init i do:
# configure celery in later phase
def wrap_config_celery():
configure_celery(config.registry)
config.action(None, wrap_config_celery, order=PHASE3_CONFIG + 999)
This even allows for working with application plugins nicely.
I should probably make a cookbook recipe for it.