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