Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在执行预定任务时从芹菜中获取任务id (节拍)

如何在执行预定任务时从芹菜中获取任务id (节拍)
EN

Stack Overflow用户
提问于 2019-06-26 23:06:48
回答 1查看 1.7K关注 0票数 3

要获取芹菜任务的信息,我需要task_id。当手工启动芹菜任务时,我可以使用task.id轻松地获得此任务的id (并将其写入DB或执行其他操作)。如果我用芹菜打,它会定期地把任务交给工人,那似乎是不可能的。

所以我的问题是,如何从任务中得到id,拍打把任务发送给芹菜的工人?

当工作人员接收到任务时,控制台将显示任务id。所以我担心的是,在任务被敲打发送给工人的那一刻,它没有任务id。

获得task_id的手动案例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
task = tasks.LongRunningTask.delay(username_from_formTargetsLaden, password_from_formTargetsLaden, url_from_formTargetsLaden)

task_id = task.id

也许你们有些人有主意?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 03:39:30

我找到了这个小问题的答案:

如果您需要最初由by发送的任务的任务id,您可以简单地向您的(调度的) worker任务添加一个检查函数。

配置周期-任务

这是每天上午11点08分(UTC)“提醒”芹菜开始这项任务的时间表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@celery.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    test = sender.add_periodic_task(crontab(minute=8, hour=11), CheckLists.s(app.config['USR'], app.config['PWD']))

要定期执行的任务

这是计划中的任务,将由芹菜执行后,工人收到“提醒”从拍子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@celery.task(bind=True)
def CheckLists(self, arg1, arg2):
    #get task_id von scheduled Task 'Check-List'
    i = inspect()
    activetasks = i.active()
    list_of_tasks = {'activetasks': activetasks}
    task_id = list_of_tasks['activetasks']['celery@DESKTOP-XXXXX'][0]['id']   #adapt this section depending on environment (local, webserver, etc...)
    task_type = "CHECK_LISTS"
    task_id_to_db = Tasks(task_id, task_type)
    db.session.add(task_id_to_db)
    db.session.commit()

    long_runnning_task 
    [...more task relevant code here...] 

因此,我正在利用app.control.inspect,它允许您检查运行中的工人。它在引擎盖下使用远程控制命令。使用i.active(),您将得到一个字典,您可以很容易地解析它。

只要我没有发现任何文档--如何更容易地从周期性任务中获取task_id --我就坚持这个解决方案。

在保存任务id之后,您可以通过AJAX轻松地轮询任务状态等。

希望这对你们有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56785726

复制
相关文章
FreeRTOS 任务调度 系统节拍
文章 < FreeRTOS 任务调度 任务切换 > 记录了 FreeRTOS 中任务切换的过程, 提到触发任务切换的两种情况 : 高优先级任务就绪抢占和同优先级任务时间共享(包括提前挂起)。 系统中,时间延时和任务阻塞,时间片都以 Systick 为单位。
orientlu
2018/09/13
1.9K0
FreeRTOS 任务调度 系统节拍
获取任务的执行结果
之前的两篇文章中,我们介绍了异步编程,也介绍了线程池的基本概念。也说了,线程池的实现天生也实现了异步任务,允许直接向线程池中进行任务的提交与结果获取。
Single
2019/05/25
1.5K0
js获取时间,循环执行任务,延迟执行任务
一.获取时间 核心方法创建一个时间对象:new Date() 时间对象相关操作 时间对象.函数名 函数名 功能 getYear() 获取四位数的年份 getMonth() 获取2位数的月数, 这个是从 0 开始的 , 注意 不是从1 开始的!!! getDate() 获取2位数的日 数, 也是从1 开始的 getDay() 获取表示 星期的数字, 注意星期天返回的是0, getHours() 获取小时数 getMinites() 获取分数 getSeconds() 获取秒数 getTime() 获取date
小小咸鱼YwY
2020/06/19
3.6K0
从任务驱动到自我激励:如何在没有明确任务时维持学习动力
人们通常更容易在有明确目标或任务的情况下投入学习或工作。如果感觉学习内容与实际应用场景脱节,或与个人职业规划不符,很容易产生“为什么要学这个”的疑问,从而缺乏学习动力。
运维开发王义杰
2023/09/19
2810
从任务驱动到自我激励:如何在没有明确任务时维持学习动力
SpringBoot启动时执行任务
在 SpringBoot 项目中,main 方法调用了 SpringApplication.run 方法,在 SpringApplication.run 方法执行之前还可以执行一些启动任务。具体的方式是实现 ApplicationRunner 或者 CommandLineRunner 这两个接口。
码农UP2U
2021/04/09
1.1K0
SpringBoot启动时执行任务
SpringBoot启动时执行指定任务
@EventListener({ApplicationReadyEvent.class})
乐心湖
2020/07/31
6980
获取线程池中任务执行数量
通过ThreadPoolExecutor的相关API实时获取线程数量,排队任务数量,执行完成线程数量等信息。
春哥大魔王
2018/07/23
2.9K0
Dart中的任务执行队列
② MicroTask Queue执行完之后,执行Event Queue中的Event
ruochen
2021/11/21
2.8K0
golang中执行定时任务
cron(定时任务),按照约定的时间,定时的执行特定的任务(job),cron 表达式表达了这种约定。
IT工作者
2021/12/22
9570
quartz获取定时任务下次执行的时间
quartz很多人都会用,但需要配置cronExpression. 这个cronExpression很多技术人员都要配置,但很多情况,我们要知道这个cronExpression下次执行的时间是啥,让非技术人员很直观的看到下一个定时任务的执行时间。   其实quartz已经提供了相关工具类。示例代码如下:
星痕
2018/09/12
2.9K0
Linux中的计划任务—Crontab调度重复执行的任务
本博文的主要目的是让笔者和读者可以了解并掌握以下内容: 1、Crontab的基本概念 2、Crontab的基本组成 3、操作Crond服务 4、配置系统和用户计划任务 5、监控计划任务日志
小小工匠
2021/08/16
1K0
Spring Batch多步骤任务、并行执行、任务决策器、任务嵌套
企业中经常会有需要批处理才能完成的业务操作,比如:自动化地处理大批量复杂的数据,如月结计算;重复性地处理大批量数据,如费率计算;充当内部系统和外部系统的数据纽带,中间需要对数据进行格式化,校验,转换处理等。
鱼找水需要时间
2023/02/16
3.3K0
Spring Batch多步骤任务、并行执行、任务决策器、任务嵌套
并行执行任务
在app列表首页,展示多个item,并有分页;而每个item里后台都会调用一个http请求,判断当前item的状态
LiosWong
2018/10/29
7120
JS中的进程、线程、任务队列、事件循环、宏任务、微任务、执行栈等概念理解
javascript中有很多需要知道的概念,尤其是标题中列出来的这些,今天就来过一下这些概念。
伯约同学
2022/02/20
1.3K0
Java并发之ScheduledThreadPoolExecutor在Executor中延时执行任务在Executor中周期的执行任务
ScheduledExecutorService类顾名思义,就是可以延迟执行的Executor。如果,对于某些任务,我们并不想马上执行,而是想让任务过一段时间后才执行,或者让任务进行周期性执行。我们就可以采用ScheduledExecutorService类。
desperate633
2018/08/22
1.7K0
如何在django中设置定时任务?
Django 作为后端Web开发框架,有时候我们需要用到定时任务来或者固定频次的任务来执行某段代码,这时我们就要用到Celery了。Django中有一个中间件:Django-celery
BigYoung小站
2020/05/04
2.7K0
如何在 React 中获取点击元素的 ID?
在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.5K0
宏任务和微任务代码的执行顺序
JavaScript是一门单线程语言,即一次只能完成一个任务,若有多个任务要执行,则必须排队按照队列来执行(前一个任务完成,再执行下一个任务)。
用户7365393
2021/09/24
2.8K0
JS中的同步异步编程,宏任务与微任务的执行顺序
首先我们先看看同步与异步的定义,及浏览器的执行机制,方便我们更好地理解同步异步编程。
TimothyJia
2020/02/18
2K0
JS中的同步异步编程,宏任务与微任务的执行顺序
点击加载更多

相似问题

芹菜节拍没有显示或执行预定任务。

25

芹菜- Django从预定任务中调度任务

11

芹菜执行预定任务100次

11

检索芹菜节拍任务结果

10

有限的芹菜节拍任务

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文