def METHOD_NAME(self, *args, **options):
    # Only conferences that are actually running right now need to be considered.
    # Normally this is likely just one.
    for conference in Conference.objects.filter(startdate__lte=today_global() + timedelta(days=2),
                                                enddate__gte=today_global() - timedelta(days=2)):
        # Re-get the conference object to switch the timezone for django
        conference = get_conference_or_404(conference.urlname)
        with transaction.atomic():
            # Sessions that can take reminders
            for s in ConferenceSession.objects.select_related('room') \
                                              .filter(conference=conference,
                                                      starttime__gt=timezone.now(),
                                                      starttime__lt=timezone.now() + timedelta(minutes=15),
                                                      status=1,
                                                      reminder_sent=False):
                send_private_broadcast(conference,
                                       'The session "{0}" will start soon (at {1}){2}'.format(
                                           s.title,
                                           timezone.localtime(s.starttime).strftime("%H:%M"),
                                           s.room and " in room {}".format(s.room) or '',
                                       ),
                                       expiry=timedelta(minutes=15))
                # Now also send DM reminders out to the speakers who have registered to get one
                for reg in ConferenceRegistration.objects.filter(
                        conference=conference,
                        attendee__speaker__conferencesession=s):
                    msg = """Hello! We'd like to remind you that your session "{0}" is starting soon (at {1}) in room {2}.""".format(
                        s.title,
                        timezone.localtime(s.starttime).strftime("%H:%M"),
                        s.room and s.room.roomname or 'unknown',
                    )
                    # Send the message. Make it expire in 15 minutes, because that's after
                    # the session started anyway.
                    send_reg_direct_message(reg, msg, expiry=timedelta(minutes=15))
                s.reminder_sent = True
                s.save()
            # Volunteer reminders
            for v in VolunteerAssignment.objects.select_related('slot', 'reg').filter(
                    slot__conference=conference,
                    vol_confirmed=True,
                    org_confirmed=True,
                    reminder_sent=False,
                    slot__timerange__overlap=DateTimeTZRange(timezone.now(), timezone.now() + timedelta(minutes=15)),
            ):
                send_reg_direct_message(
                    v.reg,
                    "Hello! We'd like to remind you that your volunteer slot for '{}' is starting soon (scheduled for {})!".format(
                        v.slot.title,
                        str(v.slot),
                    ),
                    expiry=timedelta(minutes=15),
                )
                v.reminder_sent = True
                v.save()