Chain — последовательное выполнение задач, результат предыдущей передаётся в следующую. from celery import chain; chain(task1.s(arg), task2.s(), task3.s())(). .s() — signature (immutable: .si() — не передаёт результат). Пример: chain(download.s(url), process.s(), upload.s()). Если задача падает — цепочка останавливается. link_error — обработчик ошибок. Chain vs простой вызов: chain работает на стороне воркера, не блокирует клиент. Можно комбинировать с group и chord для сложных workflow.