I am using ELK 8.12.2 along with Elastic PostgreSQL connector 8.12.2. Both have been setup/self-installed on premises.
When configuring the connector to get executed on a Weekly schedule, sync jobs do not get created/triggered automatically based on the cron expression (.elastic-connectors-sync-jobs index). Executions on a daily schedule work properly.
Based on 0 30 18 ? * 2, trigger elastic-connectors-sync-jobs full sync job every Tuesday at 18:30 UTC
Actual behavior:
elastic-connectors-sync-jobs full sync job never gets triggered. Manual sync job or daily sync jobs work properly.
What has been tried so far:
Clean-up .elastic-connectors-sync-jobs
Reconfigure connector
Tried different variations of the cron expression (e.g. 0 30 18 ? * TUE) thinking that maybe the numeric version of the Day of Week could not be recognized
Checked timezone differences. This is not a timezone issue.
Are you running more than one connector that has scheduled jobs? That can affect sync jobs and if there’s any that are skipped.
Can you set the connector service log level to debug and capture logs from when a weekly run should have happened, and can you share those logs? In particular, we’re looking for:
"Queue Full" – if this appears often, it can point to resource pressure during syncs.
"Next sync is at …" (or similar) so we can see what the scheduler thinks the next run time is.
I have 7 Postgres connectors out of which 5 are scheduled and 2 are test ones not used at all, neither scheduled. 3 connectors are scheduled on a daily schedule and work properly. The 2 remaining weekly ones do not run during the scheduled time and do not trigger a scheduled execution.
Timezone in Kibana is configured as Australia/Melbourne and the same is configured on the machine where ELK stack and connector run. One of my weekly schedulers has cron expression 0 30 18 ? * 6. So the Next Sync time would be 2026-02-27 18:30 UTC which is 2026-02-28 05:30 AEDT (Australia/Melbourne timezone).
I can see in the logs that Next sync is changed from 2026-02-27 18:30:00.641130 to 2026-03-06 18:30:00.414556 for my weekly scheduled connector and gets rescheduled, without any error and without triggering the current job execution. It is interesting that the beginning of the log shows 11:00:01 and the log message prints “Scheduler woke up at 2026-02-27 00:00:01.409780“. So it looks like the Next Sync execution is changed at around 11:00 (real time) and connector thinks it is 00:00 So Next Sync is changed during the time that connectors thinks there is day change.
[FMWK][11:00:01][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Status is Status.CONNECTED
[FMWK][11:00:01][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Filtering is in state valid, skipping...
[FMWK][11:00:01][DEBUG] Scheduler woke up at 2026-02-27 00:00:01.409780. Previously woke up at 2026-02-26 23:59:30.641130.
[FMWK][11:00:01][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Next sync is at 2026-02-27 18:30:00.641130
[FMWK][11:00:01][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Next 'full' sync due in 66599 seconds
[FMWK][11:00:20][DEBUG] Polling every 30 seconds for content sync job execution
[FMWK][11:00:24][DEBUG] Cleaning up orphaned idle jobs
[FMWK][11:00:24][DEBUG] No orphaned idle jobs found. Skipping...
[FMWK][11:00:24][DEBUG] Start cleaning up idle jobs...
[FMWK][11:00:24][DEBUG] No idle jobs found. Skipping...
[FMWK][11:00:26][DEBUG] Polling every 30 seconds for access control sync job execution
[FMWK][11:00:31][DEBUG] Polling every 30 seconds for Job Scheduling
[FMWK][11:00:31][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Next sync is at 2026-03-06 18:30:00.414556
[FMWK][11:00:31][DEBUG] [Connector id: zzzzzzzzzzzzzzzzz, index name: xxxxxxxxxxxxxx] Next 'full' sync due in 671368 seconds
There are no errors around that time. There are 2 Queue Full logs that happen during sync - ingestion of data of one of the daily connectors that work properly, at completely different times (03:17:41).
Thanks for your detailed response. This does look like a cron scheduling issue. Our scheduler is designed to use UTC, and when the connector runs on a server in another timezone, I bet the times aren’t matching. So, it can decide that “this Friday at 18:30” has already passed and skip to next Friday and the weekly job never runs. Can you try updating the connector’s environment to use UTC by setting TZ=UTC (run export TZ=UTC before starting the connector, or set it in your systemd/Docker config)? That should align the “next run” calculation with UTC and allow the weekly schedule to trigger.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.