niluje: No problem. I'm going to dive a bit more into this. The handler should be called with the correct parameters
niluje
josuebc: I have a chord, is there a way to know all the errors and not only the first one?
josuebc
Sorry, that's not possible. Celery will call the `on_error` handler whenever an error raises and it will send the first error that happened in a chord.
Now, you could instead handle errors per-task. You can use `on_error` on any signature. So for every task you can do task.s().on_error(handler.s())
niluje
ok, that's what I thought
:(
fission6 joined the channel
rubenwardy has left the channel
zaquest
so apparently asynpool fails somehow, for some reason it doesn't lead to shutdown with pyamqp (maybe the exception is caught somewhere in python), but with librabbitmq a callback is called from C and it causes worker shutdown... the <memory at ...> part is what a worker process in a pool receives from worker's main process, i'm guessing it's not something valid because worker and main are in different address spaces... im not sure how it works for
anyone at all... i've tried with py3.6 and py2.7 - doesn't work. librabbitmq 2.0.0.
hmm, further investigation shows that the <memory > object is passed from librabbitmq to a callback and nobody every attempts to decode it. idk maybe at some point it returned bytes or something...
josuebc
zaquest: It looks very odd. What is that you're doing again? I can't seem to reproduce it using rpc
zaquest
josuebc, literally anything. even example tasks like add/sub do not work for me.
with librabbitmq
they somehow work with pyamqp, but i have no idea how :)
like logs still show <memory ...> so it should probably fail