Issue 1:
When using a chord - even the sample given at http://celery.readthedocs.org/en/latest/userguide/canvas.html#chords - the callback will never be executed, the task celery.chord_unlock will just retry indefinitely.

None if the tasks encounter any issues ( as demonstrated http://pastebin.com/AGZmWWZM )

Using Celery 3.1.18, Python 2.7.6, Ubuntu 14.04.2 LTS

Duscussion/troubleshooting from irc:

<ItsDanielB> Hey, I'm having a problem using a chord. Once the main group of tasks finishes executing, 'celery.chord_unlock' just keeps retrying forever.
<ItsDanielB> Been doing research, but the only other occurences I can find are happening when there's an error in the main group, but all my tasks finish successfully
<ItsDanielB> Also have `CELERY_IGNORE_RESULT = False`, `CELERY_RESULT_BACKEND = 'rpc'`, `CELERY_CHORD_PROPAGATES = True` and `CELERY_RESULT_PERSISTENT = True`
<ItsDanielB> Even if I make all of the tasks do nothing (just immediatly return) I still get the same result
<ItsDanielB> Pastebin showing the "problem function" and the worker log http://pastebin.com/AGZmWWZM
<amcm_> ItsDanielB 1) why recalculate_bouts_task.si() - I think that should be .s() if you expect the return values from the chord to get passed in.
<amcm_> Are you on 3.1 or master?
<amcm_> I've seen a number of problems with chords completing on 3.1
* amcm_ is now known as amcm
<ItsDanielB> amcm using si because I don't want any of the results - they are talking to an external API and all return None
<ItsDanielB> using celery 3.1.18
<amcm> ItsDanielB then why use a chord? I suppose group | task is a chord anyway...
<amcm> I'd try it on master just to see
<amcm> Also I don't know how the rpc backend works. redis can be smarter about chords when using new_joins=1 for the result backend
<amcm> Actually, that is what I had to do to get working chords (new_joins), but I was already using redis for my results
<ItsDanielB> Installing from source (from github) throws an error when launching the worker - `ImportError: cannot import name timedelta_seconds`
<ItsDanielB> am I missing a requirement / should be using a particular branch/tag/etc?
<amcm> That's an odd one. You have to manually install the dev requirements though to use master
<amcm> pip install -r requirements/dev.txt
<ItsDanielB> `pip install -r requirements/dev.txt` already done
<ItsDanielB> ^
<ItsDanielB> :)
<amcm> Ah'kay
<ItsDanielB> Looks like I'll need to install django-celery from source too
<amcm> Ah, maybe? We're not using django-celery right now, just regular celery
<amcm> You using the DB beat schedual?
<ItsDanielB> Not sure what that is :P
<ItsDanielB> Just queueing taks right from django views
<ItsDanielB> tasks*
<ItsDanielB> Hm, maybe not. Now the worker hangs before it finishes launching.
<ItsDanielB> Also, reading up on django-celery, I wasn't using that before either :|
<ItsDanielB> rolling back, will try again :3
<ItsDanielB> The master branch of celery seems to be incompatiable with any py-amqp version
<ItsDanielB> 1.4.5, 1.4.6 give `from amqp.five import __all__ as _all_five` `ImportError: cannot import name __all__`
<ItsDanielB> wait, hold up - may be may fault here
<ItsDanielB> ok, yea
<ItsDanielB> Seems I need some combination of py-amqp, billiard and kombu but I can't figure out which ones work with each other and master celery
<ItsDanielB> amcm, can I get a `pip freeze` from you so I can just grab the same versions? Everytime I get one requirement working another one breaks :P
<amcm> ItsDanielB pip install -r requirements/dev.txt from inside celery should get you the right versions of billard, kombu and py-amqp
<amcm> See: https://github.com/celery/celery/issues/2083
<ItsDanielB> gives: `pkg_resources.DistributionNotFound: The 'billiard<3.4,>=3.3.0.17' distribution was not found and is required by celery`
<ItsDanielB> then when I install matching version, a different error
<ItsDanielB> requirements/dev.txt currently gives billard billiard-3.4.0.0b1
<amcm> That's what I have
<amcm> The requirement looks like it's for 3.1 not master
<amcm> billiard-3.4.0.0b1 is > 3.4, and it is what you should have
<ItsDanielB> pkg_resources wants me to have <3.4 for some reason
<amcm> Where is that coming from?
<ItsDanielB> starts in `<venv>/bin/celery`
<ItsDanielB> amcm full error: http://pastebin.com/d7S8KLys
<ItsDanielB> Tried on a fresh install, same issue
<amcm> Did you pip uninstall celery (to remove the 3.1 from pypi), then python setup.py install The git clone?
<amcm> check pip freeze for your celery version
<ItsDanielB> @amcm https://asciinema.org/a/0mmmovl1fmwjji5rtg2bndqwi
<amcm> which celery
<ItsDanielB> `/home/danielb/.venv/celery-test/bin/celery`
<amcm> That screen recorder is pretty slick
<amcm> :( I'm on OSX but I can't reproduce. I get
<ItsDanielB> Was just looking for a way to share without it being an unwieldy log file
<amcm> (deleteme):~/src/celery{celery:(detached from upstream/master)}:$ celery --version
<amcm> 3.2.0a2 (DEV)
<ItsDanielB> :?
<amcm> same steps, new venv, python setup.py install; pip install -r requirements/dev.txt

Issue 2:
When using a chord - even the sample given at http://celery.readthedocs.org/en/latest/userguide/canvas.html#chords - the callback will never be executed, the task celery.chord_unlock will just retry indefinitely.

None if the tasks encounter any issues ( as demonstrated http://pastebin.com/AGZmWWZM )

Using Celery 3.1.18, Python 2.7.6, Ubuntu 14.04.2 LTS

Duscussion/troubleshooting from irc:

<ItsDanielB> Hey, I'm having a problem using a chord. Once the main group of tasks finishes executing, 'celery.chord_unlock' just keeps retrying forever.
<ItsDanielB> Been doing research, but the only other occurences I can find are happening when there's an error in the main group, but all my tasks finish successfully
<ItsDanielB> Also have `CELERY_IGNORE_RESULT = False`, `CELERY_RESULT_BACKEND = 'rpc'`, `CELERY_CHORD_PROPAGATES = True` and `CELERY_RESULT_PERSISTENT = True`
<ItsDanielB> Even if I make all of the tasks do nothing (just immediatly return) I still get the same result
<ItsDanielB> Pastebin showing the "problem function" and the worker log http://pastebin.com/AGZmWWZM
<amcm_> ItsDanielB 1) why recalculate_bouts_task.si() - I think that should be .s() if you expect the return values from the chord to get passed in.
<amcm_> Are you on 3.1 or master?
<amcm_> I've seen a number of problems with chords completing on 3.1
* amcm_ is now known as amcm
<ItsDanielB> amcm using si because I don't want any of the results - they are talking to an external API and all return None
<ItsDanielB> using celery 3.1.18
<amcm> ItsDanielB then why use a chord? I suppose group | task is a chord anyway...
<amcm> I'd try it on master just to see
<amcm> Also I don't know how the rpc backend works. redis can be smarter about chords when using new_joins=1 for the result backend
<amcm> Actually, that is what I had to do to get working chords (new_joins), but I was already using redis for my results
<ItsDanielB> Installing from source (from github) throws an error when launching the worker - `ImportError: cannot import name timedelta_seconds`
<ItsDanielB> am I missing a requirement / should be using a particular branch/tag/etc?
<amcm> That's an odd one. You have to manually install the dev requirements though to use master
<amcm> pip install -r requirements/dev.txt
<ItsDanielB> `pip install -r requirements/dev.txt` already done
<ItsDanielB> ^
<ItsDanielB> :)
<amcm> Ah'kay
<ItsDanielB> Looks like I'll need to install django-celery from source too
<amcm> Ah, maybe? We're not using django-celery right now, just regular celery
<amcm> You using the DB beat schedual?
<ItsDanielB> Not sure what that is :P
<ItsDanielB> Just queueing taks right from django views
<ItsDanielB> tasks*
<ItsDanielB> Hm, maybe not. Now the worker hangs before it finishes launching.
<ItsDanielB> Also, reading up on django-celery, I wasn't using that before either :|
<ItsDanielB> rolling back, will try again :3
<ItsDanielB> The master branch of celery seems to be incompatiable with any py-amqp version
<ItsDanielB> 1.4.5, 1.4.6 give `from amqp.five import __all__ as _all_five` `ImportError: cannot import name __all__`
<ItsDanielB> wait, hold up - may be may fault here
<ItsDanielB> ok, yea
<ItsDanielB> Seems I need some combination of py-amqp, billiard and kombu but I can't figure out which ones work with each other and master celery
<ItsDanielB> amcm, can I get a `pip freeze` from you so I can just grab the same versions? Everytime I get one requirement working another one breaks :P
<amcm> ItsDanielB pip install -r requirements/dev.txt from inside celery should get you the right versions of billard, kombu and py-amqp
<amcm> See: https://github.com/celery/celery/issues/2083
<ItsDanielB> gives: `pkg_resources.DistributionNotFound: The 'billiard<3.4,>=3.3.0.17' distribution was not found and is required by celery`
<ItsDanielB> then when I install matching version, a different error
<ItsDanielB> requirements/dev.txt currently gives billard billiard-3.4.0.0b1
<amcm> That's what I have
<amcm> The requirement looks like it's for 3.1 not master
<amcm> billiard-3.4.0.0b1 is > 3.4, and it is what you should have
<ItsDanielB> pkg_resources wants me to have <3.4 for some reason
<amcm> Where is that coming from?
<ItsDanielB> starts in `<venv>/bin/celery`
<ItsDanielB> amcm full error: http://pastebin.com/d7S8KLys
<ItsDanielB> Tried on a fresh install, same issue
<amcm> Did you pip uninstall celery (to remove the 3.1 from pypi), then python setup.py install The git clone?
<amcm> check pip freeze for your celery version
<ItsDanielB> @amcm https://asciinema.org/a/0mmmovl1fmwjji5rtg2bndqwi
<amcm> which celery
<ItsDanielB> `/home/danielb/.venv/celery-test/bin/celery`
<amcm> That screen recorder is pretty slick
<amcm> :( I'm on OSX but I can't reproduce. I get
<ItsDanielB> Was just looking for a way to share without it being an unwieldy log file
<amcm> (deleteme):~/src/celery{celery:(detached from upstream/master)}:$ celery --version
<amcm> 3.2.0a2 (DEV)
<ItsDanielB> :?
<amcm> same steps, new venv, python setup.py install; pip install -r requirements/dev.txt