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