История изменений

Этот документ содержит примечания к изменениям для выпусков с исправлениями в серии 4.2.x. Обзор нового в Celery 4.2 смотрите в Что нового в Celery 4.2 (windowlicker).

4.2.1

дата выхода:

2018-07-18 11:00 AM IST

релиз на:

Омер Кац

  • Бэкэнд результатов: Исправьте десериализацию исключений, которые присутствуют в кодовой базе производителя, но не присутствуют в кодовой базе потребителя.

    При участии Джона Арнольда.

  • Совместимость протоколов сообщений: Исправление ошибки, вызванной недопустимым значением (None) timelimit в заголовках сообщений при переносе сообщений с 3.x на 4.x.

    Внесено Робертом Копачевски.

  • Result Backend: Исправьте сериализацию аргументов исключений, когда аргументы исключений не сериализуются в JSON по умолчанию.

    Предоставлено Томом Бутом

  • Работник: Исправлены многочисленные проблемы с заданиями с ограничением скорости

    Поддерживайте порядок составления расписания. Исправление возможного планирования celery.worker.request.Request с неправильным kombu.utils.limits.TokenBucket, что могло привести к неправильному поведению ограничения скорости заданий. Исправление возможного дублирования выполнения задач, которые были ограничены по скорости или если для них был предоставлен ETA/Countdown.

    Внесено @ideascf

  • Рабочий: Защитная обработка недействительных значений заголовка timelimit в запросах.

    При участии Омера Каца.

Исправлена документация:

  • Мэтт Виенс

  • Сынхун Ли

  • Льюис М. Кабуи.

  • Пратхамеш Салункхе

4.2.0

дата выхода:

2018-06-10 21:30

релиз на:

Омер Кац

  • Задача: Добавьте ignore_result в качестве опции выполнения задачи (#4709, #3834)

    При участии Андрея Костенко и Георгия Псаракиса.

  • Redis Result Backend: Не создавайте подписки PubSub, когда результаты игнорируются (#4709, #3834)

    При участии Андрея Костенко и Георгия Псаракиса.

  • Redis Result Backend: Потребитель результата всегда отписывается, когда состояние задачи готово (#4666)

    Внесено Георгием Псаракисом.

  • Разработка/тестирование: Добавьте docker-compose и базовый Dockerfile для разработки (#4482)

    Внесено Крисом Митчеллом.

  • Документация/Sphinx: Научите autodoc документировать задачи, если undoc-members не установлен (#4588)

    Внесено Лео Сингером.

  • Документация/Sphinx: Верните опцию undoc-members в тесте sphinx (#4586)

    Внесено Лео Сингером.

  • Документация/Sphinx: Sphinx autodoc подбирает задания автоматически, только если установлено undoc-members (#4584)

    Внесено Лео Сингером.

  • Задача: Исправление проблемы shadow_name при использовании класса Task предыдущей версии (#4572)

    Внесено @pachewise.

  • Задача: Добавьте поддержку связанных задач в качестве параметра link_error (Исправления #3723) (#4545)

    Внесено @brabiega.

  • Развертывание: Добавьте опцию командной строки для установки URL-адреса бэкенда результата (#4549)

    Внесено @y0ngdi.

  • CI: Включите кэш pip в сборке appveyor (#4546)

    При участии Thijs Triemstra.

  • Concurrency/Asynpool: Исправьте затенение имени свойства errno.

    Внесено Омером Кацем.

  • Бэкэнд DynamoDB: Настраиваемый URL конечной точки (#4532)

    Внесено Богданом Рыбаком.

  • Временные зоны: Корректное определение часового пояса UTC и часового пояса из настроек (Исправления #4517) (#4519)

    Внесено @last-partizan.

  • Контроль: Очистка пула производителей почтового ящика после форкинга (#4472)

    Внесено Ником Икетом.

  • Документация: Запуск Celery и Celery Beat на Azure WebJob (#4484)

    Внесено PauloPeres.

  • Celery Beat: Запланировать необходимые задачи при запуске, после перезапуска Beat (#4493)

    Внесено Игорем Касьяновым.

  • Рабочий: Используйте абсолютное время, когда задание принимается пулом рабочих (#3684)

    При участии Региса Бехмо.

  • Канвас: Распространять аргументы для цепочек внутри групп (#4481)

    Внесено Крисом Митчеллом.

  • Канвас: Исправьте поведение Task.replace во вложенных аккордах (исправления #4368) (#4369)

    При участии Дениса Широкова и Алекса Хилла.

  • Установка: Передавайте аргумент python_requires в setuptools (#4479)

    Внесено Джоном Дюфрейном.

  • Совместимость протоколов сообщений: Обработка «гибридных» сообщений, перешедших из одной версии Celery в другую (#4358) (Проблема #4356)

    Внесено Расселом Кит-Мейджи.

  • Canvas: запрос on_timeout теперь игнорирует исключение мягкого ограничения времени (исправления #4412) (#4473)

    Внесено Алексом Гарелом.

  • Redis Result Backend: Интеграционный тест для проверки отписок PubSub (#4468)

    Внесено Георгием Псаракисом.

  • Свойства протокола сообщений: Разрешите аргумент ключевого слова shadow и метод shadow_name для правильной установки тени (#4381)

    Внесено @hclihn.

  • Канвас: Запускайте chord_unlock в той же очереди, что и тело аккорда (#4448) (Проблема #4337)

    Внесено Алексом Хиллом.

  • Канвас: Поддержка аккордов с пустой группой заголовков (#4443)

    Внесено Алексом Хиллом.

  • Временные зоны: сделайте вызов astimezone в localize более безопасным (#4324).

    Внесено Мэттом Дэвисом.

  • Канвас: Исправление длины-1 и вложенных аккордов (#4437) (Вопросы #4393, #4055, #3885, #3597, #3574, #3323, #4301)

    Внесено Алексом Хиллом.

  • CI: Запустите Openstack Bandit в Travis CI для обнаружения проблем безопасности.

    Внесено Омером Кацем.

  • CI: Запустите isort в Travis CI для выравнивания утверждений импорта Python.

    Внесено Омером Кацем.

  • Canvas: Разрешение ошибки типа .get из вложенных групп (#4432) (Выпуск #4274)

    Предоставлено Мишей Вольфсон.

  • Бэкенд CouchDB: Исправление типа строки ключа CouchDB для совместимости с Python 2/3 (#4166)

    Вклад внесли @fmind && Омер Кац.

  • Результат группы: Исправьте возврат к текущему_приложению в GroupResult.restore() (#4431)

    Внесено Алексом Хиллом.

  • Consul Backend: Исправьте тип ключевой строки для совместимости с Python 2/3 (#4416)

    Внесено Видо ден Холландером.

  • Результат группы: Корректное восстановление пустого GroupResult (#2202) (#4427)

    Вклад внесли Алекс Хилл и Омер Кац.

  • Результат: Отключение синхронного ожидания для подзадач в режиме eager (#4322)

    При участии Дениса Подлесного.

  • Celery Beat: Обнаружение изменений часового пояса или летнего времени (#1604) (#4403)

    Предоставлено Винсентом Барбарези.

  • Канвас: Исправление добавления к пустой цепочке. Исправления #4047. (#4402)

    Внесено Омером Кацем.

  • Задача: Разрешить тени переопределять имя задачи в сообщениях трассировки и протоколирования. (#4379)

    Внесено @hclihn.

  • Документация/Sphinx: Исправьте совместимость с getfullargspec Python 2.x в contrib/sphinx.py (#4399)

    Внесено Хавьером Мартином Монтуллом.

  • Документация: Обновлены инструкции по установке брокера SQS (#4382)

    Внесено Серхио Фернандесом.

  • Celery Beat: Улучшение сравнения равенства для экземпляров ScheduleEntry (#4312)

    Внесено @mariia-zelenova.

  • Задача: Добавление свойства „shadow“ в as_task_v2 (#4350)

    Принесено Марсело Да Круз Пинто.

  • Попробуйте импортировать напрямую, не используйте устаревший метод imp (#4216)

    Внесено Тобиасом Кунце.

  • Задача: Включите переопределение kwargsrepr и argsrepr для изменения представления аргументов задачи (#4260)

    Предоставлено Джеймсом М. Алленом.

  • Result Backend: Добавьте бэкенд Redis Sentinel (#4144)

    Внесено Джеффри Бодуэном.

  • Используйте уникальные значения времени для коллекций/LimitedSet (#3879 и #3891) (#3892)

    Внесено @lead2gold.

  • CI: Охват отчетов для всех бэкендов результатов.

    Внесено Омером Кацем.

  • Django: Используйте настройку максимального возраста соединения Django DB (исправления #4116) (#4292)

    Внесено Марко Швайгхаузером.

  • Канва: Правильно учитывайте цепочку задач link_error (#4240)

    Внесено @agladkov.

  • Канвас: Позволяет создавать группу с одной задачей (исправляет проблему #4255) (#4280)

    Внесено @agladkov.

  • Канвас: Копируйте параметр словаря в chord.from_dict перед изменением (исправляет проблему #4223) (#4278)

    Внесено @agladkov.

  • Бэкенд результатов: Добавить опции Cassandra (#4224)

    Внесено Скоттом Купером.

  • Работник: Применяйте ограничение ставки для заданий с ETA (#4251)

    Внесено @arpanshah29.

  • Celery Beat: поддержка записей в планировщике без расписания (#4235).

    Внесено Маркусом Кайзерсвертом.

  • SQS Broker: Обновлен файл требований SQS с правильной версией boto3 (#4231)

    Внесено Алехандро Варасом.

  • Удалите неиспользуемый код из контекст-менеджера _create_app (#4204)

    Внесено Райаном П. Килби.

  • Групповой результат: Измените GroupResult.as_tuple() для включения родителя (исправления #4106) (#4205)

    Внесено @pachewise.

  • Beat: Установка класса планировщика по умолчанию в команде beat. (#4189)

    Внесено @Kxrr.

  • Рабочий: Повторное обращение к приемнику сигнала после возникновения исключения (#4192)

    Внесено Дэвидом Дэвисом.

  • Задача: Разрешить пользовательский класс Request для задач (#3977)

    Внесено Мануэлем Васкесом Акостой.

  • Django: Исправление Django должно закрывать все бэкенды кэша (#4187)

    Внесено Рафаэлем Рьелем.

  • Деплоймент: Добавляет stopasgroup в скрипты супервизора (#4200)

    Внесено @martialp.

  • Использование Exception.args для сериализации/десериализации исключений (#4085)

    Внесено Александром Овечкиным.

  • Временные зоны: Корректный расчет текущего времени приложения с учетом часового пояса (#4173)

    Внесено Георгием Псаракисом.

  • Удаленный отладчик: Установите опцию SO_REUSEADDR на сокете (#3969)

    Внесено Теодором Дюбуа.

  • Django: Celery игнорирует исключения, возникающие во время django.setup() (#4146)

    Внесено Кевином Гу.

  • Используйте настройки сердцебиения из конфигурации приложения для соединения с брокером (#4148)

    Внесено @mperice.

  • Celery Beat: Исправлено исключение, вызванное тем, что next_transit получал неожиданный аргумент. (#4103)

    Внесено DDevine.

  • Задача Внедрение экспоненциального отката с автоповтором задачи (#4101)

    Внесено Дэвидом Баумголдом.

  • AsyncResult: Удалите слабые ссылки на связанные методы в обещаниях AsyncResult. (#4131)

    Внесено Винодом Чандру.

  • Разработка/тестирование: Разрешить нетерпеливое применение структур холста (#4576)

    Внесено Николасом Пилоном.

  • Командная строка: Промойте stderr перед выходом с кодом ошибки 1.

    Внесено Антонином Дельпеухом.

  • Задача: Исключает одинарные кавычки в строках kwargsrepr.

    При участии Карима Зидана

  • AsyncResult: Восстановите возможность объединения через ResultSet после исправления celery/#3818.

    При участии Дерека Харланда

  • Redis Results Backend: Отписка при успешном получении сообщения.

    Ранее Celery сливал каналы, заполняя память экземпляра Redis.

    Внесено Георгием Псаракисом.

  • Задача: Преобразовывать eta в изоформат только в том случае, если он еще не является строкой.

    При участии Омера Каца.

  • Redis Results Backend: Настройка result_backend теперь поддерживает URI rediss://.

    При участии Джеймса Ремейка.

  • Canvas Аргументы ключевых слов передаются задачам в цепочке, как и ожидалось.

    Внесено @tothegump

  • Django Исправление регрессии, приводившей к аварийному завершению работы Celery при использовании Django.

    При участии Йонаса Хаага.

  • Canvas Цепочка с одной задачей теперь выполняется как ожидалось.

    Внесено @tothegump

  • Kombu Celery 4.2 теперь требует Kombu 4.2 или выше.

    При участии Омера Каца и Асифа Сайфуддина Ауви.

  • GreenletExit is not in __all__ в greenlet.py, который не может быть импортирован Python 3.6.

    Импорт был скорректирован для работы и на Python 3.6.

    При участии Хсиаомин Янг.

  • Исправлена регрессия, возникшая во время разработки Celery 4.2, которая приводила к аварийному завершению работы celery report при установленном Django.

    При участии Хосуэ Баландрано Коронель.

  • Привели поведение GroupResult.as_tuple() в соответствие с поведением AsyncResult.as_tuple().

    Родитель группы теперь сериализуется правильно.

    При участии Хосуэ Баландрано Коронель.

  • Используйте механизм коэрцитивности Redis для преобразования параметров запроса URI.

    При участии Джастина Патрина

  • Исправлено представление GroupResult.

    График зависимостей теперь представлен правильно.

    При участии Хосуэ Баландрано Коронель.

Документация, CI, установка и тесты исправлений:

  • Сэмми С. Таунтон.

  • Дан Уилсон

  • @pachewise

  • Абеллана Серги Альмацелла.

  • Омер Кац

  • Алекс Зайцев

  • Лео Сингер

  • **Рэйчел Джонсон

  • Джон Дюфрейн

  • Самюэль Дион-Жирардо

  • **Райан Гость

  • **Хуан Хуан

  • ** Жоффрей Бодуэн

  • Эндрю Вонг

  • Мэдс Дженсен

  • Джеки Ленг

  • Гарри Морено

  • @michael-k

  • Николас Мота

  • Арменак Бабурян

  • Патрик Чжан

  • @anentropic

  • @jairojair

  • Бен Уэлш

  • Майкл Пик

  • Фэньюань Чэнь

  • @arpanshah29

  • Ксавьер Харди

  • Шитикантх

  • Игорь Касьянов

  • Джон Арнольд

  • @dmollerm

  • Роберт Найт

  • Асиф Сайфуддин Ауви.

  • Эдуардо Рамирес

  • **Камиль Брегула

  • **Хуан Гутьеррес

Вернуться на верх