Теперь у меня есть некоторые большие задачи, и все они сделаны из небольших задач, я помещал их в брокера, и когда все мелкие задачи одной большой задачи завершены, я потребуется обратный вызов, чтобы иметь дело с результатами этих маленьких задач я знаю сельдерей имею примитивный аккорд может сделать это, если только у меня есть одна большая задача, но у меня есть много так, если я пишу, как:как вызвать обратный вызов в сельдерее, но не блокировать процесс
chord([task11.s(),task12.s()])(mycallback.s()).get()
chord([task21.s(),task22.s()])(mycallback.s()).get()
вторая строка не начнется до тех пор, пока первая строка не будет завершена, но таким образом некоторые работники будут долгое время кумиром, что не очень хорошо, , так что есть некоторые способы в сельдерее, которые могут обратного вызова при определенных условиях происходит, но не блокировать процесс?
====================================================================================================================================
apply_async работает! @Gigapalmer, спасибо за помощь
Мне непонятно, что вы можете распараллелить, а что нет. – MKesper
например, у меня есть список имени пользователя и множество сайтов, я хочу проверить, что имя пользователя зарегистрировано на этих сайтах, а затем использовать функцию обратного вызова, чтобы сделать некоторые статистические данные этих результатов, теперь я могу использовать аккорд для распараллеливайте функцию проверки каждого веб-сайта, если я просто введите одно имя пользователя, но есть много usernams, , если я напишу код, как раньше, второе имя пользователя не запустится до первого, если закончится, но так как какой-то сайт уже закончен для первого, я хочу использовать рабочего для второго – Tarjintor
Я использовал сельдерей некоторое время назад, 'get()' синхронно и 'apply_async()' является асинхронным. – Gigapalmer