Permalink
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also
.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
celery/celery
66laps/celery
AdrianRibao/celery
CoolCold/celery
DXist/celery
FreakTheMighty/celery
GunioRobot/celery
HonzaKral/celery
Ignas/celery
Iroiso/celery
Mocramis/celery
OddBloke/celery
PiotrSikora/celery
Rundll/celery
SeanOC/celery
StefanKjartansson/celery
WoLpH/celery
a5an0/celery
aaronelliotross/celery
abecciu/celery
acdha/celery
ackdesha/celery
aclowes/celery
adamend/celery
akabos/celery
akipom/celery
alessandrod/celery
aleszoulek/celery
aliscott/celery
amplify-education/celery
andrewwatts/celery
anh/celery
ask/celery
avinash011/celery
axiak/celery
balboah/celery
berg/celery
bfirsh/celery
bmihelac/celery
bodbdigr/celery
bradjasper/celery
cangove/celery
catalanojuan/celery
clayg/celery
clvrobj/celery
coderanger/celery
colinhowe/celery
csinchok/celery
cupcicm/celery
cwebber/celery
d4n13lbc/celery
davidmiller/celery
davidstrauss/celery
dcramer/celery
dctrwatson/celery
dhepper/celery
djfroofy/celery
dln/celery
dmarkey/celery
dmishe/celery
dpwhite2/celery
drx/celery
dtran320/celery
e98cuenc/celery
eka/celery
eldondev/celery
enlavin/celery
errord/celery
evildmp/celery
f0rk/celery
fberger/celery
fireantology/celery
flaper87/celery
frac/celery
fredj/celery
gcachet/celery
georgedorn/celery
gregglind/celery
greghaskins/celery
harmv/celery
hekevintran/celery
heyman/celery
hghazal/celery
iancmcc/celery
idan/celery
idealopamp/celery
imankulov/celery
ionelmc/celery
ivirabyan/celery
jasonbaker/celery
jbochi/celery
jcsp/celery
jerem/celery
jiangzhonghui/celery
jkozera/celery
jonozzz/celery
jpellerin/celery
jsaxon-cars/celery
jterrace/celery
jude/celery
juil/celery
justinlynn/celery
kanu/celery
kenshinx/celery
kkung/celery
kmike/celery
kuangc/celery
kultus/celery
kyphan/celery
leobantech/celery
lht/celery
liansc/celery
lifeeth/celery
lookfwd/celery
lorenhearsay/celery
lstipakov/celery
luciotorre/celery
macro/celery
marcinkuzminski/celery
markferrer/celery
martinmelin/celery
mattjmorrison/celery
mattlong/celery
mattwilliamson/celery
maxbelanger/celery
maximbo/celery
metzlar/celery
mgmtech/celery
mher/celery
miracle2k/celery
mitar/celery
mitsuhiko/celery
mlavin/celery
molotov/celery
mootpointer/celery
mthurman/celery
mulka/celery
mumrah/celery
netoxico/celery
nibrahim/celery
nik-cars/celery
offbyone/celery
ojii/celery
omgbebebe/celery
orb/celery
paltman/celery
pankajmore/celery
pcardune/celery
peplin/celery
pmarti/celery
prabhat246/celery
psnj/celery
public/celery
pvanderlinden/celery
r4vi/celery
rahulkmr/celery
rferolino/celery
rgaiser/celery
richleland/celery
rlotun/celery
robfitz/celery
rogerhu/celery
runeh/celery
rwillmer/celery
sagematic/celery
sangramanand/celery
sarang4/celery
sbshetty01/celery
screeley/celery
sebleier/celery
sensisoft/celery
shockflash/celery
simonw/celery
skoczen/celery
soymo/celery
steeve/celery
stratoukos/celery
sverrejoh/celery
tarequeh/celery
tayfun/celery
tbarbugli/celery
thaingo/celery
tigrang/celery
tkosmynka/celery
tobych/celery
tomellis/celery
trepca/celery
tsugliani/celery
tswicegood/celery
turingmachine/celery
tutumcloud/celery
ulricheck/celery
vbabiy/celery
vkryachko/celery
washeck/celery
wdmx666/celery
westurner/celery
winhamwr/celery
yrik/celery
zen4ever/celery
Nothing to show
Choose a base branch
Choose a Head Repository
celery/celery
66laps/celery
AdrianRibao/celery
CoolCold/celery
DXist/celery
FreakTheMighty/celery
GunioRobot/celery
HonzaKral/celery
Ignas/celery
Iroiso/celery
Mocramis/celery
OddBloke/celery
PiotrSikora/celery
Rundll/celery
SeanOC/celery
StefanKjartansson/celery
WoLpH/celery
a5an0/celery
aaronelliotross/celery
abecciu/celery
acdha/celery
ackdesha/celery
aclowes/celery
adamend/celery
akabos/celery
akipom/celery
alessandrod/celery
aleszoulek/celery
aliscott/celery
amplify-education/celery
andrewwatts/celery
anh/celery
ask/celery
avinash011/celery
axiak/celery
balboah/celery
berg/celery
bfirsh/celery
bmihelac/celery
bodbdigr/celery
bradjasper/celery
cangove/celery
catalanojuan/celery
clayg/celery
clvrobj/celery
coderanger/celery
colinhowe/celery
csinchok/celery
cupcicm/celery
cwebber/celery
d4n13lbc/celery
davidmiller/celery
davidstrauss/celery
dcramer/celery
dctrwatson/celery
dhepper/celery
djfroofy/celery
dln/celery
dmarkey/celery
dmishe/celery
dpwhite2/celery
drx/celery
dtran320/celery
e98cuenc/celery
eka/celery
eldondev/celery
enlavin/celery
errord/celery
evildmp/celery
f0rk/celery
fberger/celery
fireantology/celery
flaper87/celery
frac/celery
fredj/celery
gcachet/celery
georgedorn/celery
gregglind/celery
greghaskins/celery
harmv/celery
hekevintran/celery
heyman/celery
hghazal/celery
iancmcc/celery
idan/celery
idealopamp/celery
imankulov/celery
ionelmc/celery
ivirabyan/celery
jasonbaker/celery
jbochi/celery
jcsp/celery
jerem/celery
jiangzhonghui/celery
jkozera/celery
jonozzz/celery
jpellerin/celery
jsaxon-cars/celery
jterrace/celery
jude/celery
juil/celery
justinlynn/celery
kanu/celery
kenshinx/celery
kkung/celery
kmike/celery
kuangc/celery
kultus/celery
kyphan/celery
leobantech/celery
lht/celery
liansc/celery
lifeeth/celery
lookfwd/celery
lorenhearsay/celery
lstipakov/celery
luciotorre/celery
macro/celery
marcinkuzminski/celery
markferrer/celery
martinmelin/celery
mattjmorrison/celery
mattlong/celery
mattwilliamson/celery
maxbelanger/celery
maximbo/celery
metzlar/celery
mgmtech/celery
mher/celery
miracle2k/celery
mitar/celery
mitsuhiko/celery
mlavin/celery
molotov/celery
mootpointer/celery
mthurman/celery
mulka/celery
mumrah/celery
netoxico/celery
nibrahim/celery
nik-cars/celery
offbyone/celery
ojii/celery
omgbebebe/celery
orb/celery
paltman/celery
pankajmore/celery
pcardune/celery
peplin/celery
pmarti/celery
prabhat246/celery
psnj/celery
public/celery
pvanderlinden/celery
r4vi/celery
rahulkmr/celery
rferolino/celery
rgaiser/celery
richleland/celery
rlotun/celery
robfitz/celery
rogerhu/celery
runeh/celery
rwillmer/celery
sagematic/celery
sangramanand/celery
sarang4/celery
sbshetty01/celery
screeley/celery
sebleier/celery
sensisoft/celery
shockflash/celery
simonw/celery
skoczen/celery
soymo/celery
steeve/celery
stratoukos/celery
sverrejoh/celery
tarequeh/celery
tayfun/celery
tbarbugli/celery
thaingo/celery
tigrang/celery
tkosmynka/celery
tobych/celery
tomellis/celery
trepca/celery
tsugliani/celery
tswicegood/celery
turingmachine/celery
tutumcloud/celery
ulricheck/celery
vbabiy/celery
vkryachko/celery
washeck/celery
wdmx666/celery
westurner/celery
winhamwr/celery
yrik/celery
zen4ever/celery
Nothing to show
Choose a head branch
- 1 commit
- 3 files changed
- 0 commit comments
- 1 contributor
Unified
Split
Showing
with
23 additions
and 1 deletion.
- +12 −0 celery/app/task.py
- +3 −1 t/unit/app/test_builtins.py
- +8 −0 t/unit/tasks/test_tasks.py
View
12
celery/app/task.py
| @@ -5,6 +5,7 @@ | ||
| import sys | ||
| from billiard.einfo import ExceptionInfo | ||
| from kombu import serialization | ||
| from kombu.exceptions import OperationalError | ||
| from kombu.utils.uuid import uuid | ||
| @@ -514,6 +515,17 @@ def apply_async(self, args=None, kwargs=None, task_id=None, producer=None, | ||
| app = self._get_app() | ||
| if app.conf.task_always_eager: | ||
| with app.producer_or_acquire(producer) as eager_producer: | ||
| serializer = options.get( | ||
| 'serializer', eager_producer.serializer | ||
| ) | ||
| body = args, kwargs | ||
| content_type, content_encoding, data = serialization.dumps( | ||
| body, serializer | ||
| ) | ||
| args, kwargs = serialization.loads( | ||
| data, content_type, content_encoding | ||
| ) | ||
| with denied_join_result(): | ||
| return self.apply(args, kwargs, task_id=task_id or uuid(), | ||
| link=link, link_error=link_error, **options) | ||
View
4
t/unit/app/test_builtins.py
| @@ -94,7 +94,9 @@ def setup(self): | ||
| self.maybe_signature = self.patching('celery.canvas.maybe_signature') | ||
| self.maybe_signature.side_effect = pass1 | ||
| self.app.producer_or_acquire = Mock() | ||
| self.app.producer_or_acquire.attach_mock(ContextMock(), 'return_value') | ||
| self.app.producer_or_acquire.attach_mock( | ||
| ContextMock(serializer='json'), 'return_value' | ||
| ) | ||
| self.app.conf.task_always_eager = True | ||
| self.task = builtins.add_group_task(self.app) | ||
| BuiltinsCase.setup(self) | ||
View
8
t/unit/tasks/test_tasks.py
| @@ -7,6 +7,7 @@ | ||
| import pytest | ||
| from case import ANY, ContextMock, MagicMock, Mock, patch | ||
| from kombu import Queue | ||
| from kombu.exceptions import EncodeError | ||
| from celery import Task, group, uuid | ||
| from celery.app.task import _reprtask | ||
| @@ -824,6 +825,13 @@ def common_send_task_arguments(self): | ||
| ignore_result=False | ||
| ) | ||
| def test_eager_serialization_failure(self): | ||
| @self.app.task | ||
| def task(*args, **kwargs): | ||
| pass | ||
| with pytest.raises(EncodeError): | ||
| task.apply_async((1, 2, 3, 4, {1})) | ||
| def test_task_with_ignored_result(self): | ||
| with patch.object(self.app, 'send_task') as send_task: | ||
| self.task_with_ignored_result.apply_async() | ||