Running Rasa on Docker
I have a issue with the ReminderScheduled function. The idea is to send a reminder to all our users every day at 9am. So far the function manage to send the reminder just to 1 users, but the other users does not receive the reminder.
I already check the actions server in debug mode, I can see how the action for the ReminderScheduled was executed. The problems comes when the reminder is trigger, it is not reaching out all the users, jus one.
here is the action code:
def name(self) -> Text:
async def run(self, dispatcher, tracker, domain) -> List[Dict[Text, Any]]:
returntime = TimeScheduler.schedule_hours_morning(CHECKIN_MORNING)
return [ReminderScheduled("EXTERNAL_start_s2", trigger_date_time=returntime, name="action_schedule_checkin01", kill_on_user_message=False)]
action_schedule_checkin01 called for every user? I.e. did every user have a conversation where
action_schedule_checkin01 was executed by the bot?
yes, that is right, this is our case.
Right. Every reminder must have a unique name. A random string will be chosen if you don’t provide a name. What happens if you don’t provide a name, i.e.
ReminderScheduled("EXTERNAL_start_s2", trigger_date_time=returntime, kill_on_user_message=False)?
thanks for the answer,
I think it is not a random string, at least I can see here:
It is setting the user id as the name. that is right?
then the best would be to don’t add the
name in the ReminderScheduled Function
uuid.uuid1() generates random objects of 128 bits. You would still need to set names by yourself if you want to be able to cancel one particular reminder, so the
name field in
ReminderScheduled should be there.
thanks for the clarification, now all make sense and we understand its behavior better.
All the best
We set the sender_id as the name, doing so, we can cancel the reminder in the future and the name keep being unique