Instead of triggering a reminder, this: "Canceled reminder because it is outdated"

Hi, my action server sends ReminderScheduled when I set it to anything close to the original tracking event (anything between 10 secs to 10 mins).

But it is not sending, when I set it to 4 hours or 16 hours.

Here is my log file for the 4 hour case:

At reminder creation:

2020-09-02 19:34:06 DEBUG    rasa.core.processor  - Predicted next action 'action_set_reminder_16h' with confidence 1.00.
2020-09-02 19:34:06 DEBUG    rasa.core.actions.action  - Calling action endpoint to run action 'action_set_reminder_16h'.
2020-09-02 19:34:06 DEBUG    rasa.core.processor  - Action 'action_set_reminder_16h' ended with events '[<rasa.core.events.ReminderScheduled object at 0x7ff7cd342f10>]'.

And here at the time the reminder should have been triggered:

2020-09-02 19:56:40 DEBUG    rasa.core.processor  - Predicted next action 'action_listen' with confidence 0.99.
2020-09-02 19:56:40 DEBUG    rasa.core.processor  - Action 'action_listen' ended with events '[]'.
2020-09-02 19:56:40 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '415604082'.
2020-09-02 23:34:06 DEBUG    rasa.core.tracker_store  - Recreating tracker for id '415604082'
2020-09-02 23:34:06 DEBUG    rasa.core.processor  - The latest session for conversation ID '415604082' has expired.
2020-09-02 23:34:06 DEBUG    rasa.core.processor  - Starting a new session for conversation ID '415604082'.
2020-09-02 23:34:06 DEBUG    rasa.core.processor  - Action 'action_session_start' ended with events '[<rasa.core.events.SessionStarted object at 0x7ff7cd0a30d0>, <rasa.core.events.SlotSet object at 0x7ff7cd0a37d0>, <rasa.core.events.SlotSet object at 0x7ff7cd0a3750>, <rasa.core.events.SlotSet object at 0x7ff7cd0a3810>, <rasa.core.events.SlotSet object at 0x7ff7cd442950>, <rasa.core.events.SlotSet object at 0x7ff7cd0b22d0>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2390>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2250>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2290>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2190>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2310>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2fd0>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2890>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2610>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2d50>, <rasa.core.events.SlotSet object at 0x7ff7cd0b21d0>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2e90>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2590>, <rasa.core.events.SlotSet object at 0x7ff7cd0b24d0>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2f10>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2090>, <rasa.core.events.SlotSet object at 0x7ff7cd0b2850>, <rasa.core.events.SlotSet object at 0x7ff7d5d65150>, <rasa.core.events.SlotSet object at 0x7ff7d5d65390>, <rasa.core.events.SlotSet object at 0x7ff7d5d65dd0>, <rasa.core.events.SlotSet object at 0x7ff7d5d65350>, <rasa.core.events.SlotSet object at 0x7ff7d5d65d10>, <rasa.core.events.ActionExecuted object at 0x7ff7cd0a3650>]'.
2020-09-02 23:34:06 DEBUG    rasa.core.processor  - Current slot values: 
	hours_fasted: 0 Stunden
	is_fasting: 1
	mins_fasted: 22 Minuten
	start_fast: 2020-09-02 19:34:06
**2020-09-02 23:34:06 DEBUG    rasa.core.processor  - Canceled reminder because it is outdated (ReminderScheduled(intent: 16h_fast_reminder, trigger_date: 2020-09-02 23:34:06.471587, entities: [], name: 16h_fast_reminder)).**

In the last line it says “Canceled reminder because it is outdated” exactly at the time when it should have triggered.

Any reasons why?

I wondered whether it was due to the session_expiration_time and changed it to 2 mins and tested with messages after 5 mins. That still worked, so it doesn’t seem to be due to an expired session…

Thanks, Alex.

Hi! Did you add kill_on_user_message=False in your ReminderScheduled?

Hi Geovana! Thx and yes I set it to False.

This is my Reminder action:

class SetReminder16h(Action): “”" Creates a reminder to tell the user he fasted 16 hours already “”"

def name(self) -> Text:
    return "action_set_reminder_16h"

async def run(
    self,
    dispatcher: CollectingDispatcher,
    tracker: Tracker,
    domain: Dict[Text, Any],
) -> List[Dict[Text, Any]]:

    date = datetime.datetime.now() + datetime.timedelta(minutes=960) # 16 hours
    entities = tracker.latest_message.get("entities")

    reminder = ReminderScheduled(
        "16h_fast_reminder",
        trigger_date_time=date,
        entities=entities,
        name="16h_fast_reminder",
        kill_on_user_message=False,
    )

    print("setting reminder")

    return [reminder]            

And this is my session_config in my domain.yml:

session_config: carry_over_slots_to_new_session: true session_expiration_time: 60

Do you see a possible cause for the issue?

Hi Alex, I’m facing the same issue. Were you able to fix it? I’m using the rasa shell as frontend.

Regards, Takdir