@app.task(name='name')

def hello():

  • return 'hello world'

task常用参数:

  • name:可以显式指定任务的名字;默认是本函数的名字。

  • bind:一个bool值,设置是否绑定一个task的实例,如果绑定,task实例会作为参数传递到任务方法中,可以访问task实例的所有的属性,即前面反序列化中那些属性

  • base:定义任务的基类,可以以此来定义回调函数,默认是Task类,我们也可以定义自己的Task类

  • default_retry_delay:设置该任务重试的延迟时间,当任务执行失败后,会自动重试,单位是秒,默认3分钟;

  • queue:指定发送到哪个队列; (后面补充的)

task不常用参数:

  • serializer:指定本任务的序列化的方法;

  • autoretry_for:设置在特定异常时重试任务,默认False即不重试;

  • retry_backoff:默认False,设置重试时的延迟时间间隔策略;

  • retry_backoff_max:设置最大延迟重试时间,默认10分钟,如果失败则不再重试;

  • retry_jitter:默认True,即引入抖动,避免重试任务集中执行;

Task的一般属性:

  • Task.name:任务名称;

  • Task.request:当前任务的信息;

  • Task.max_retries:设置重试的最大次数

  • Task.throws:预期错误类的可选元组,不应被视为实际错误,而是结果失败;

  • Task.rate_limit:设置此任务类型的速率限制

  • Task.time_limit:此任务的硬限时(以秒为单位)。

  • Task.ignore_result:不存储任务状态。默认False;

  • Task.store_errors_even_if_ignored:如果True,即使任务配置为忽略结果,也会存储错误。

  • Task.serializer:标识要使用的默认序列化方法的字符串。

  • Task.compression:标识要使用的默认压缩方案的字符串。默认为task_compression设置。

  • Task.backend:指定该任务的结果存储后端用于此任务。

  • Task.acks_late:如果设置True为此任务的消息将在任务执行后确认 ,而不是在执行任务之前(默认行为),即默认任务执行之前就会发送确认;

  • Task.track_started:如果True任务在工作人员执行任务时将其状态报告为“已启动”。默认是False;

安装yaml包:

  • pip install pyyaml