如何在使用 django-celery 时创建单个类对象



>我正在使用芹菜节拍时间表在午夜自动重置属性。之后,我还想使用 firebase 向所有相关用户发送通知。因此,我编写了以下代码。

def send_notification(reg_ids, data_message):
    push_service = FCMNotification(api_key=fcm_config['GCM_API_KEY'])
    push_service.multiple_devices_data_message(registration_ids=reg_ids, data_message=message)

@shared_task 
def reset_daily_count():
    try:
        User.objects.all().update(daily_attempts=3)
    except Exception as e:
        logger.debug(e)
    else:
        send_notification(reg_ids, data_message)

但是每次调用它时,此代码都会创建 FCMNotification 对象。我想要的是创建一个对象,并在需要时从某个地方访问它,即使是其他芹菜任务,不仅是定期任务,还有普通任务。我将如何做?

只需创建一个定义类的对象,并将其导入到您想要的任何位置,就像这样。

class FCMNotification:
    pass
    # daclaration

push_service = FCMNotification(api_key=fcm_config['GCM_API_KEY'])

您可以在芹菜任务中使用push_service以及像这样的普通代码。

from <PATH> import push_service

相关内容

  • 没有找到相关文章