62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
"""注释"""
|
|||
|
|
|
||
|
|
from celery import Task
|
||
|
|
|
||
|
|
from django_celery.main import app
|
||
|
|
|
||
|
|
import logging
|
||
|
|
|
||
|
|
from wechat_数据库.雪花算法.雪花算法工具 import generator
|
||
|
|
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
|
||
|
|
# 这是任务执行成功后的回调监听函数;(使用方法: 只需要在调用任务的时候添加属性 link=函数名.s() )
|
||
|
|
@app.task(bind=True)
|
||
|
|
def on_success_callback(self: Task, result, *args, **kwargs):
|
||
|
|
"""这是任务执行成功后的回调监听函数"""
|
||
|
|
# 在这里实现你的回调逻辑
|
||
|
|
print("成功地回调")
|
||
|
|
task_name = self.name
|
||
|
|
# 获取触发回调的任务ID
|
||
|
|
task_id = self.request.id
|
||
|
|
print(self.request.parent_id) # 这个参数非常重要,是执行任务的🆔(可以知道是哪个任务的回调)
|
||
|
|
print(f"任务 {task_name} (ID: {task_id}) 执行成功,回调函数已触发")
|
||
|
|
|
||
|
|
|
||
|
|
class MyCustomTaskMessages(Task):
|
||
|
|
"""注释"""
|
||
|
|
|
||
|
|
def on_success(self, retval, task_id, args, kwargs):
|
||
|
|
""""""
|
||
|
|
# 在任务成功执行后运行的逻辑
|
||
|
|
# logger.info( f"任务 {task_id} 成功: {retval}" )
|
||
|
|
pass
|
||
|
|
# print( retval )
|
||
|
|
|
||
|
|
def on_retry(self, exc, task_id, args, kwargs, einfo):
|
||
|
|
""""""
|
||
|
|
# 在任务重试后运行的逻辑
|
||
|
|
pass
|
||
|
|
|
||
|
|
def on_failure(self, exc, task_id, args, kwargs, einfo):
|
||
|
|
""""""
|
||
|
|
pass
|
||
|
|
# 只记录,不要 raise 非法对象!
|
||
|
|
print(f"Task failed: {exc}")
|
||
|
|
# 不要在这里 raise 任何东西,除非是合法异常
|
||
|
|
|
||
|
|
|
||
|
|
@app.task(base=MyCustomTaskMessages, bind=True, queue="xiao_queue", retry_kwargs={'max_retries': 5}, retry_backoff=True, )
|
||
|
|
def taskMessages(self, xiaoziziname, **kwargs):
|
||
|
|
""""""
|
||
|
|
try:
|
||
|
|
pass
|
||
|
|
auto_str = generator.generate_str()
|
||
|
|
print("成功了", auto_str, xiaoziziname)
|
||
|
|
return ""
|
||
|
|
except Exception as e:
|
||
|
|
pass
|
||
|
|
print(e)
|
||
|
|
return e
|