有没有办法从django视图启动/停止芹菜任务?

有没有办法从django视图启动/停止芹菜任务?,django,django-rest-framework,django-views,celery,django-celery,Django,Django Rest Framework,Django Views,Celery,Django Celery,我刚刚完成django应用程序的芹菜任务,但我正在寻找一种方法,通过前端UI上的切换按钮来启动/停止它。我知道它可以在django admin(内置)上运行。但我想让它成为应用程序 与典型的django视图和restapi一样,您可以创建如下函数: def start_task和def stop_task并通过api(URL)调用以执行它 我怎么做?谢谢 当然,任务只是一个启动时需要调用的函数,如果您有task\u id,则可以撤销任务。更多关于这一点,请在中解释 我有一个启动任务更新搜索索引的

我刚刚完成django应用程序的芹菜任务,但我正在寻找一种方法,通过前端UI上的切换按钮来启动/停止它。我知道它可以在django admin(内置)上运行。但我想让它成为应用程序

与典型的django视图和restapi一样,您可以创建如下函数:

def start_task
def stop_task
并通过api(URL)调用以执行它


我怎么做?谢谢

当然,任务只是一个启动时需要调用的函数,如果您有
task\u id
,则可以撤销任务。更多关于这一点,请在中解释

我有一个启动任务更新搜索索引的示例

@app.task
def更新_搜索():
“”“更新haystack”“”
尝试:
更新_index.Command().handle(
remove=True,interactive=False,verbosity=2
)
除传输错误为e外:
记录器错误(e)
这是从使用admin中的操作链接访问的视图调用的

类更新搜索视图(视图):
"""
从更新搜索索引的管理员调用的视图。
在继续之前检查请求用户是否为超级用户。
"""
admin\u index=reverse\u lazy('admin:index')
@静力学方法
定义更新搜索(请求):
“”“更新搜索索引”“”
更新_search.delay()
成功(
请求,u('现在计划更新搜索索引')
)
def get(自我、请求、*args、**kwargs):
“”“更新搜索,重新定向回引用的URL”“”
如果request.user.is_anonymous()或不是request.user.is_superuser:
加薪许可被拒绝
自我更新搜索(请求)
#重定向回当前页面(如果没有索引)
#(当前页)
返回HttpResponseRedirect(request.GET.GET('next',self.admin_index))

how,如果我只得到了
task\u名称而不是
task\u id
,怎么样。因为task_id会更改该task_名称的每次执行?是的,该id显然只是正在运行的任务的唯一实例,因此可以撤销。您不能仅凭任务名称撤销。详情见此;;