>我正在使用芹菜节拍时间表在午夜自动重置属性。之后,我还想使用 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