def periodicFunction(self):
		bot = self.bot

		# process reminders
		# Get reminder data from DB
		reminders = self.timetable_db.getUnnotifiedSubscriptions()

		for event in reminders:
			chat_id = event[0]
			event_id = event[1]
			status = event[2]
			event_time = TimetableDatabase.stringTimeToDatetime(event[3])
			cur_time = self.timetable_db.getOffsetTime()
			event_name = self.timetable_db.getEventData(event_id)['name']

			if status < 2:
				# this event still has reminders
				if (cur_time-event_time).days >= 0:
					# Remind when an event starts
					if self.user_params.getEntry(chat_id, 'subscribed') == 1:
						bot.sendMessage(chat_id=chat_id
									, message="{0} is starting now! \n/event{1}".format(event_name, event_id)
									, key_markup="Same"
							)
					self.timetable_db.setReminderStatus(chat_id, event_id, 2)
			if status < 1:
				# preliminary reminder is not triggered yet
				remind_period = self.user_params.getEntry(chat_id,'remind_period')
				till_event_delta = event_time-cur_time
				if self.user_params.getEntry(chat_id,'subscribed') == 1 \
					and till_event_delta.days == 0 \
					and till_event_delta.seconds <= remind_period * 60:
					# Set status to 1 and trigger preliminary reminder
					self.timetable_db.setReminderStatus(chat_id, event_id, 1)
					bot.sendMessage(chat_id=chat_id
									, message="{0} is starting in {2} minutes!\n/event{1}"
									.format(event_name, event_id,till_event_delta.seconds//60)
									, key_markup="Same"
							)