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