我有两个Pythonapplications'前端'和'fv'。在我的fv应用程序中是我的tasks.py文件,在我的前端应用程序是我的views.py文件来呈现我的视图。
现在我有一个视图,我可以选择一些参数来获取请求.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框架。
有人有建议吗?
答案 0 :(得分:8)
据我所知,这是解决方案。在定义芹菜任务时,请执行以下操作:
@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')