Compare commits

..
Author SHA1 Message Date
james.maesandClaude Opus 5.5 47c3aac1b2 fix: no cron time zone on repeat-seconds worker schedules
OutboundProcesses.process set cronTimeZoneId("UTC") on every schedule.
Core instance validation refuses a time zone on a non-cron schedule, so a
host that configures a scheduler (kof22) failed validation at start. Only
cron schedules get UTC now; OutboundTest covers both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:59:12 -05:00
james.maes bf8f40959a Merge pull request #16 from QRun-IO/feature/orb-0.6.9
ci: qqq-orb 0.6.9 (refresh SNAPSHOT dependencies)
2026-10-14 10:57:01 -05:00
james.maesandClaude Opus 5.5 f7c031b793 ci: qqq-orb 0.6.9 (refresh SNAPSHOT dependencies)
Moves qqq-orb@0.6.8 to qqq-orb@0.6.9, which passes --update-snapshots so cached SNAPSHOT dependencies are re-checked on every build (QRun-IO/qqq-orb#22).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 10:06:51 -05:00
james.maes cd9423e966 Merge pull request #15 from QRun-IO/feature/phase-f-mapper-api
feat: phase f1 - spec'd UI API extension for the EDI mapper and sandbox
2026-10-14 09:58:48 -05:00
3 changed files with 22 additions and 2 deletions

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
version: 2.1
orbs:
qqq-orb: kingsrook/qqq-orb@0.6.8
qqq-orb: kingsrook/qqq-orb@0.6.9
commands:
configure-package-install:
@@ -61,7 +61,11 @@ public class OutboundProcesses implements BackendStep
.withStep(new QBackendStepMetaData().withName("execute").withCode(new QCodeReference(OutboundProcesses.class)));
if(config.getSchedulerName() != null && (seconds != null || cron != null))
{
process.withSchedule(new QScheduleMetaData().withSchedulerName(config.getSchedulerName()).withRepeatSeconds(seconds).withCronExpression(cron).withCronTimeZoneId("UTC"));
//////////////////////////////////////////////////////////////////////////
// core validation refuses a cron time zone on a repeat schedule //
//////////////////////////////////////////////////////////////////////////
process.withSchedule(new QScheduleMetaData().withSchedulerName(config.getSchedulerName()).withRepeatSeconds(seconds).withCronExpression(cron)
.withCronTimeZoneId(cron == null ? null : "UTC"));
}
return (process);
}
@@ -329,4 +329,20 @@ class OutboundTest
{
return (SystemWrites.call(() -> EdiRecords.query(table, new QQueryFilter())));
}
/*******************************************************************************
** Repeat-seconds worker schedules carry no cron time zone (core instance
** validation refuses one on a non-cron schedule); cron schedules use UTC.
*******************************************************************************/
@Test
void repeatSchedulesHaveNoCronTimeZone()
{
com.kingsrook.qbits.edi.EdiQBitConfig config = new com.kingsrook.qbits.edi.EdiQBitConfig().withSchedulerName("scheduler");
var repeat = com.kingsrook.qbits.edi.processes.OutboundProcesses.process("edi_test_repeat", config, 15, null).getSchedule();
assertThat(repeat.getRepeatSeconds()).isEqualTo(15);
assertThat(repeat.getCronTimeZoneId()).isNull();
var cron = com.kingsrook.qbits.edi.processes.OutboundProcesses.process("edi_test_cron", config, null, "0 0 * * * ?").getSchedule();
assertThat(cron.getCronTimeZoneId()).isEqualTo("UTC");
}
}