[2026-05-20 00:00:01] [cron_daily_schedule_fcm] Notification Results:
[2026-05-20 00:00:01] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 00:00:01] [cron_daily_schedule_fcm] All schedules reset: sent = 0
[2026-05-20 00:00:01] [cron_daily_schedule_fcm] Active status updated based on leave dates
[2026-05-20 00:00:01] [cron_mark_yesterday_absent] start
[2026-05-20 00:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 00:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 00:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 00:00:01] [cron_mark_yesterday_absent] {"success":true,"date":"2026-05-19","marked_absent":4,"users_absent":[{"user_id":4,"name":"vital"},{"user_id":13,"name":"test"},{"user_id":17,"name":"Sathish"},{"user_id":22,"name":"Mangamma"}]}
[2026-05-20 00:00:01] [cron_mark_yesterday_absent] end
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 271 (active=1) sent to 1 device(s)
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Naveen → Schedule 272 (active=1) sent to 1 device(s)
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Sathish → Schedule 273 (active=1) sent to 1 device(s)
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Madesh → Schedule 274 (active=1) sent to 1 device(s)
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 276 (active=1) sent to 1 device(s)
[2026-05-20 00:00:02] [cron_daily_schedule_fcm] User Naveen → Schedule 277 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] User Sathish → Schedule 278 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] User Madesh → Schedule 279 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 281 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 282 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 283 (active=1) sent to 1 device(s)
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] Total Sent: 11
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] Total Skipped: 0
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] Execution Time: 2.14 sec
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 00:00:03] [cron_daily_schedule_fcm] Done.
[2026-05-20 01:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 01:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 01:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 02:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 02:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 02:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 02:45:11] [notification_received] Schedule 281 acknowledged by user_id=6 (event=received)
[2026-05-20 02:45:11] [notification_received] Schedule 282 acknowledged by user_id=6 (event=received)
[2026-05-20 02:45:11] [notification_received] Schedule 283 acknowledged by user_id=6 (event=received)
[2026-05-20 03:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 03:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 03:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 03:48:42] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-05-20 03:48:54] [attendance_code_created] date=2026-05-20 type=first_half
[2026-05-20 03:49:21] [attendance_code_created] date=2026-05-20 type=second_half
[2026-05-20 03:50:04] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-20 03:55:02] [notification_received] Schedule 282 acknowledged by user_id=6 (event=tapped)
[2026-05-20 03:55:15] [notification_received] Schedule 282 acknowledged by user_id=6 (event=tapped)
[2026-05-20 03:56:38] [attendance_login] user_id=6 date=2026-05-20 first_half
[2026-05-20 04:00:01] [notification_received] Schedule 283 acknowledged by user_id=6 (event=tapped)
[2026-05-20 04:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 04:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 04:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 04:00:14] [notification_received] Schedule 283 acknowledged by user_id=6 (event=tapped)
[2026-05-20 04:00:22] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-20 04:05:17] [notification_received] Schedule 274 acknowledged by user_id=15 (event=received)
[2026-05-20 04:05:19] [notification_received] Schedule 279 acknowledged by user_id=15 (event=received)
[2026-05-20 04:08:32] [notification_received] Schedule 278 acknowledged by user_id=17 (event=received)
[2026-05-20 04:08:32] [notification_received] Schedule 273 acknowledged by user_id=17 (event=received)
[2026-05-20 04:10:00] [notification_received] Schedule 279 acknowledged by user_id=15 (event=tapped)
[2026-05-20 04:10:00] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-20 04:10:30] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-20 04:10:32] [attendance_login] user_id=7 date=2026-05-20 first_half
[2026-05-20 04:11:30] [attendance_login] user_id=15 date=2026-05-20 first_half
[2026-05-20 04:11:50] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-20 04:12:08] [attendance_login] user_id=17 date=2026-05-20 first_half
[2026-05-20 04:14:32] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-05-20 04:23:22] [fcm_token] FCM token saved/updated: user_id=18 device_type=android
[2026-05-20 04:23:23] [notification_received] Schedule 277 acknowledged by user_id=18 (event=received)
[2026-05-20 04:23:31] [attendance_login] user_id=18 date=2026-05-20 first_half
[2026-05-20 04:24:01] [notification_received] Schedule 272 acknowledged by user_id=18 (event=received)
[2026-05-20 04:24:01] [notification_received] Schedule 277 acknowledged by user_id=18 (event=tapped)
[2026-05-20 04:27:55] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-20 04:28:03] [attendance_login] user_id=20 date=2026-05-20 first_half
[2026-05-20 04:31:13] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-05-20 04:31:18] [attendance_login] user_id=21 date=2026-05-20 first_half
[2026-05-20 05:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 05:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 05:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 06:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 06:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 06:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 06:59:36] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-20 06:59:42] [attendance_logout] user_id=20 date=2026-05-20 first_half
[2026-05-20 06:59:48] [attendance_login] user_id=20 date=2026-05-20 second_half
[2026-05-20 07:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 07:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 07:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 07:00:35] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-05-20 07:00:39] [attendance_logout] user_id=21 date=2026-05-20 first_half
[2026-05-20 07:15:44] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-20 07:15:48] [attendance_logout] user_id=7 date=2026-05-20 first_half
[2026-05-20 07:15:54] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-20 07:16:03] [attendance_logout] user_id=6 date=2026-05-20 first_half
[2026-05-20 07:16:15] [attendance_login] user_id=7 date=2026-05-20 second_half
[2026-05-20 07:18:38] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-20 07:19:00] [fcm_token] FCM token saved/updated: user_id=23 device_type=android
[2026-05-20 07:19:13] [attendance_logout] user_id=17 date=2026-05-20 first_half
[2026-05-20 07:19:19] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-20 07:19:21] [attendance_logout] user_id=15 date=2026-05-20 first_half
[2026-05-20 07:19:24] [attendance_login] user_id=15 date=2026-05-20 second_half
[2026-05-20 07:19:30] [attendance_login] user_id=17 date=2026-05-20 second_half
[2026-05-20 07:19:38] [attendance_login] user_id=6 date=2026-05-20 second_half
[2026-05-20 07:28:45] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-05-20 07:28:58] [attendance_login] user_id=21 date=2026-05-20 second_half
[2026-05-20 07:38:40] [attendance_logout] user_id=21 date=2026-05-20 second_half
[2026-05-20 07:59:56] [attendance_logout] user_id=18 date=2026-05-20 first_half
[2026-05-20 08:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 08:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 08:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 08:00:53] [attendance_login] user_id=18 date=2026-05-20 second_half
[2026-05-20 08:00:57] [attendance_logout] user_id=18 date=2026-05-20 second_half
[2026-05-20 08:26:14] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-20 08:26:31] [attendance_logout] user_id=15 date=2026-05-20 second_half
[2026-05-20 08:33:00] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-20 08:33:14] [attendance_logout] user_id=7 date=2026-05-20 second_half
[2026-05-20 08:33:22] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-20 08:33:25] [attendance_logout] user_id=6 date=2026-05-20 second_half
[2026-05-20 08:34:06] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-20 08:34:13] [attendance_logout] user_id=20 date=2026-05-20 second_half
[2026-05-20 09:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 09:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 09:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 09:02:42] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-20 09:02:55] [attendance_logout] user_id=17 date=2026-05-20 second_half
[2026-05-20 10:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 10:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 10:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 11:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 11:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 11:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 12:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 12:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 12:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 12:00:01] [cron_daily_schedule_fcm] Notification Results:
[2026-05-20 12:00:01] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 12:00:01] [cron_daily_schedule_fcm] All schedules reset: sent = 0
[2026-05-20 12:00:01] [cron_daily_schedule_fcm] Active status updated based on leave dates
[2026-05-20 12:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 271 (active=1) sent to 1 device(s)
[2026-05-20 12:00:02] [cron_daily_schedule_fcm] User Naveen → Schedule 272 (active=1) sent to 1 device(s)
[2026-05-20 12:00:06] [cron_daily_schedule_fcm] User Sathish → Schedule 273 (active=1) sent to 1 device(s)
[2026-05-20 12:00:06] [cron_daily_schedule_fcm] User Madesh → Schedule 274 (active=1) sent to 1 device(s)
[2026-05-20 12:00:07] [cron_daily_schedule_fcm] User Tamil → Schedule 276 (active=1) sent to 1 device(s)
[2026-05-20 12:00:07] [cron_daily_schedule_fcm] User Naveen → Schedule 277 (active=1) sent to 1 device(s)
[2026-05-20 12:00:07] [cron_daily_schedule_fcm] User Sathish → Schedule 278 (active=1) sent to 1 device(s)
[2026-05-20 12:00:07] [cron_daily_schedule_fcm] User Madesh → Schedule 279 (active=1) sent to 1 device(s)
[2026-05-20 12:00:07] [notification_received] Schedule 274 acknowledged by user_id=15 (event=received)
[2026-05-20 12:00:07] [notification_received] Schedule 279 acknowledged by user_id=15 (event=received)
[2026-05-20 12:00:07] [cron_daily_schedule_fcm] User pooarasan → Schedule 281 (active=1) sent to 1 device(s)
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] User pooarasan → Schedule 282 (active=1) sent to 1 device(s)
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] User pooarasan → Schedule 283 (active=1) sent to 1 device(s)
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] Total Sent: 11
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] Total Skipped: 0
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] Execution Time: 6.72 sec
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] -------------------------
[2026-05-20 12:00:08] [cron_daily_schedule_fcm] Done.
[2026-05-20 12:00:09] [notification_received] Schedule 281 acknowledged by user_id=6 (event=received)
[2026-05-20 12:00:16] [notification_received] Schedule 283 acknowledged by user_id=6 (event=received)
[2026-05-20 13:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 13:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 13:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 13:58:06] [notification_received] Schedule 272 acknowledged by user_id=18 (event=received)
[2026-05-20 13:58:09] [notification_received] Schedule 277 acknowledged by user_id=18 (event=received)
[2026-05-20 14:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 14:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 14:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 14:39:40] [notification_received] Schedule 273 acknowledged by user_id=17 (event=received)
[2026-05-20 14:40:17] [notification_received] Schedule 278 acknowledged by user_id=17 (event=received)
[2026-05-20 15:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 15:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 15:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 16:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 16:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 16:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 17:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 17:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 17:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 17:32:52] [fcm_token] FCM token saved/updated: user_id=18 device_type=android
[2026-05-20 18:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 18:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 18:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 19:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 19:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 19:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 20:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 20:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 20:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 21:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 21:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 21:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 22:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 22:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 22:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-20 23:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-20 23:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-20 23:00:01] [cron_deactivate_schedules_for_inactive_users] end
