我正试图在芹菜的弦内连续操作。 我的工作流程如下:
Sub ListStrikeThroughText()
' This will list the struck-through text from Slide 1
' Adapt as needed to collect all of the text from all slides
Dim sTextList As String
Dim oShp As Shape
Dim oRng As TextRange2
Dim x As Long
With ActivePresentation.Slides(1)
For Each oShp In .Shapes
If oShp.HasTextFrame And oShp.TextFrame2.HasText Then
With oShp.TextFrame2.TextRange
For x = 1 To .Runs.Count
If .Runs(x).Font.Strikethrough Then
sTextList = sTextList & .Runs(x).Text & vbCrLf
End If
Next
End With
End If
Next
End With
MsgBox sTextList
End Sub
其中:
task1.s(arg1) | task2.s() | chord([task3.s(), (task4a.s()| task4b.s())], task5.s()) | task 6.s()
和task3
使用相同的参数(=返回值task4a
)task2
应该等待task5
和task3
完成(并将其输出作为输入)。运行这样的管道时,似乎只有task4b
接收task3
的输出作为参数。事实上,我遇到了task2
的错误。
如果我用单个任务替换链TypeError: task4a() missing 1 required positional argument
,则没有错误,并且参数传递得很好。似乎芹菜不处理和弦链(或者我不知道如何使用它)。
我不想将我的2个任务“融合”为1(因为我需要看到中间结果)。有没有人遇到类似的问题并找到解决方案/解决方法?
干杯
编辑:我使用带有redis后端的celery 4.1.0和RabbitMQ代理。