在Django视图方法中调用芹菜任务?

2024-04-26 12:57:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个Pythonapplications‘前端’和‘fv’。在我的fv应用程序中是my tasks.py文件,在我的前端应用程序中是my views.py文件,用于呈现我的视图。

现在我有了一个视图,可以选择一些参数,使用request.POST获取这些参数。现在我想调用一个任务方法FunctionRDynamic并从我的视图表单中传递参数。

views.py中的方法:

if request.method == 'POST':
        form1 = dataproviderInstrumentForm(request.POST)
        form2 = dynamicTimeseriesForm(request.POST)

        if form1.is_valid() or form2.is_valid(): 
            filters = form2.cleaned_data['filter']
            estimator = form2.cleaned_data['estimator']
            windowSize = form2.cleaned_data['windowSize']

            FunctionRDynamic.delay(estimator, windowSize, timeseries)

FunctionRDynamic是我在oder应用程序的tasks.py文件中的方法,但此方法不会执行。

我的任务是用芹菜。所有这些都是用Python编写的,我使用Django作为mvc框架。

有人有什么建议吗?


Tags: 文件方法py视图应用程序data参数request
1条回答
网友
1楼 · 发布于 2024-04-26 12:57:14

根据我的理解,这是解决办法。在定义芹菜任务时,请执行以下操作:

@celery.task
def file_transfer(password, source12, destination):
    # Do stuffs with paramters

现在在您的views.py中执行以下操作:

def test(View):
    # Get the data from post
    if request.method == 'POST':
        name = request.POST['name']
        # And get all the variable you need for the tasks

        # Now call the task like this
        file_transfer.delay(name, 'test', 'test')

相关问题 更多 >