Skip to content

feat(channel): add skip_auto_test to bypass auto test for quota-limited channels - #5206

Open
YNight-FZQ wants to merge 3 commits into
QuantumNous:mainfrom
YNight-FZQ:feat/skip-auto-test-channel
Open

feat(channel): add skip_auto_test to bypass auto test for quota-limited channels#5206
YNight-FZQ wants to merge 3 commits into
QuantumNous:mainfrom
YNight-FZQ:feat/skip-auto-test-channel

Conversation

@YNight-FZQ

@YNight-FZQ YNight-FZQ commented May 30, 2026

Copy link
Copy Markdown

Summary

  • 添加 SkipAutoTest 字段,允许渠道跳过定时自动测试以节省额度
  • 后端: model/channel.go, controller/channel-test.go
  • 前端 (new UI): types.ts, constants.ts, channel-form.ts, channel-mutate-drawer.tsx
  • 前端 (classic UI): EditChannelModal.jsx
  • 测试: model/channel_skip_auto_test_test.go

Description

当渠道开启 Skip Auto Test 选项后,在定时自动测试(CHANNEL_TEST_FREQUENCY)触发时该渠道将被跳过,不会消耗额度。同时不影响手动点击「测试」按钮和正常业务路由调用。

实现参照 auto_ban 字段的模式:

  • 数据类型: number(0/1)
  • 默认值: 0(不跳过)
  • 后端 getter 方法安全返回 bool
  • 前端 Switch 控件与 auto_ban 并排放置

Test Plan

  • go test ./model/ 确认单元测试通过
  • go build ./... 确认编译通过
  • 开启某渠道的 "Skip Auto Test" 后,等待定时测试触发,确认该渠道被跳过
  • 手动点击该渠道的「测试」按钮,确认仍可正常测试
  • 关闭选项后,确认该渠道恢复正常参与定时测试

Checklist

  • 添加了 GetSkipAutoTest() 单元测试
  • 后端代码编译通过(待 CI 验证)
  • 前端代码符合现有代码风格(参照 auto_ban 实现模式)
  • 未引入破坏性变更(仅新增字段,默认值兼容)

Summary by CodeRabbit

  • New Features
    • Added a “Skip Auto Test” toggle (skip_auto_test) to channel creation/editing (including advanced routing/overrides).
    • Auto test executions now omit channels that opt out, helping conserve quota; scheduled/manual behavior follows existing mode settings.
  • Tests
    • Added unit tests for the skip flag behavior and for scheduled-mode detection.
  • Documentation
    • Added i18n labels and descriptions for EN, FR, JA, RU, VI, and ZH (CN/TW) covering the toggle and its quota-saving impact.

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0b6a94e9-d258-4ce1-bff3-1f3b8c5939e5

📥 Commits

Reviewing files that changed from the base of the PR and between 62596d4 and 5cd234f.

📒 Files selected for processing (13)
  • controller/channel-test.go
  • controller/channel_test_internal_test.go
  • model/channel.go
  • model/channel_skip_auto_test_test.go
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/ja.json
  • web/classic/src/i18n/locales/ru.json
  • web/classic/src/i18n/locales/vi.json
  • web/classic/src/i18n/locales/zh-CN.json
  • web/classic/src/i18n/locales/zh-TW.json
  • web/classic/src/i18n/locales/zh.json
✅ Files skipped from review due to trivial changes (6)
  • web/classic/src/i18n/locales/zh-CN.json
  • web/classic/src/i18n/locales/vi.json
  • web/classic/src/i18n/locales/zh.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/ja.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • web/classic/src/i18n/locales/ru.json
  • model/channel_skip_auto_test_test.go
  • model/channel.go
  • web/classic/src/i18n/locales/zh-TW.json

Walkthrough

Adds a configurable skip_auto_test flag to channels, allowing scheduled automatic tests to bypass flagged channels. Backend model and controller logic, frontend schemas and forms, UI controls, tests, and localization entries are updated.

Changes

Skip Auto Test Feature

Layer / File(s) Summary
Backend model and scheduled test skip logic
model/channel.go, controller/channel-test.go, model/channel_skip_auto_test_test.go, controller/channel_test_internal_test.go
The channel model adds SkipAutoTest and GetSkipAutoTest(). Scheduled test execution detects scheduled runs and skips flagged channels; unit tests cover getter and schedule detection behavior.
Frontend channel contracts and payload transforms
web/default/src/features/channels/types.ts, web/default/src/features/channels/lib/channel-form.ts
Schemas, form defaults, backend-to-form mapping, and create/update payloads include skip_auto_test.
Channel management controls
web/default/src/features/channels/constants.ts, web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx, web/classic/src/components/table/channels/modals/EditChannelModal.jsx
Default and classic channel interfaces provide switches that load, reset, display, and submit the flag as numeric 1 or 0.
Localized skip-test labels
web/classic/src/i18n/locales/*, web/default/src/i18n/locales/*
Adds labels and descriptions for skipping automatic tests across supported locales.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Scheduler
  participant runChannelTestTask
  participant performChannelTests
  participant Channel
  Scheduler->>runChannelTestTask: invoke channel test task
  runChannelTestTask->>runChannelTestTask: determine scheduled mode
  runChannelTestTask->>performChannelTests: pass scheduled as skipAutoTest
  performChannelTests->>Channel: read GetSkipAutoTest()
  alt scheduled and skip enabled
    performChannelTests->>performChannelTests: skip channel
  else otherwise
    performChannelTests->>Channel: run channel test
  end
Loading

Possibly related PRs

  • QuantumNous/new-api#5592: Also modifies scheduled channel-test mode and selection logic in controller/channel-test.go.

Poem

🐰 A toggle hops into the flow,

Flagged channels pause below;
Scheduled tests now skip with care,
Saving quota here and there.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 30.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding skip_auto_test to bypass auto tests for quota-limited channels.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@web/classic/src/components/table/channels/modals/EditChannelModal.jsx`:
- Line 224: The skipAutoTest boolean in EditChannelModal.jsx is stored in
component state and isn't reset between modal sessions, causing stale values to
be submitted; update the component to reset skipAutoTest whenever the modal/form
is initialized or closed (e.g., in the modal open handler or a useEffect that
watches the modal open flag or the channel prop) or move skipAutoTest into the
form's values so it's reset with the form; ensure you call
setSkipAutoTest(false) (or set to the channel's initial value) during modal
init/reset and before handleSubmit/submit actions so each session uses the
correct value.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bf91b35b-16b3-4a94-b27a-6b4ed35838e3

📥 Commits

Reviewing files that changed from the base of the PR and between 230a359 and f1e6a6d.

📒 Files selected for processing (7)
  • controller/channel-test.go
  • model/channel.go
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx
  • web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx
  • web/default/src/features/channels/constants.ts
  • web/default/src/features/channels/lib/channel-form.ts
  • web/default/src/features/channels/types.ts

@YNight-FZQ
YNight-FZQ force-pushed the feat/skip-auto-test-channel branch from 39e809c to b31758b Compare May 31, 2026 06:49

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@controller/channel-test.go`:
- Around line 929-931: The skip_auto_test flag is being applied to both
scheduled and manual runs; update the logic in the testAllChannels flow so
channel.GetSkipAutoTest() is honored only for scheduled runs (e.g., when the
caller indicates this is an automated/scheduled invocation). Constrain the early
continue to something like: if isScheduledRun && channel.GetSkipAutoTest() {
continue }, where isScheduledRun is the scheduled/manual indicator passed into
the testAllChannels handler or derived from the caller context; update any
callers or signature of testAllChannels if needed to pass that boolean so manual
invocations ignore GetSkipAutoTest().

In `@web/default/src/i18n/locales/ja.json`:
- Around line 3676-3677: Replace the two flat English source-text keys "Skip
Auto Test" and "Skip auto test to avoid consuming quota on limited channels"
with hierarchical keys such as channels.form.skipAutoTest.label and
channels.form.skipAutoTest.description in the ja.json locale; update any code
references that currently use the source-text keys (search for "Skip Auto Test"
and the full description) to the new keys so instrumentation and lookup use
channels.form.skipAutoTest.label and channels.form.skipAutoTest.description
consistently across the codebase.

In `@web/default/src/i18n/locales/vi.json`:
- Around line 3676-3677: Replace the flat sentence-style translation keys "Skip
Auto Test" and "Skip auto test to avoid consuming quota on limited channels"
with hierarchical keys (e.g. channel.skipAutoTest.label and
channel.skipAutoTest.description) in the vi.json locale and update every call
site that references the old literal keys to use the new keys (search for the
exact strings "Skip Auto Test" and "Skip auto test to avoid consuming quota on
limited channels"); place the new keys in the appropriate semantic section of
the vi.json file (under a "channel" or similar namespace) and ensure any code
that reads these keys (components, hooks, or i18n lookup functions) uses the new
dot-separated keys so translations load correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7a7ca7f1-4829-4fcd-b57a-f955ddbf53bc

📥 Commits

Reviewing files that changed from the base of the PR and between 39e809c and b31758b.

📒 Files selected for processing (23)
  • controller/channel-test.go
  • model/channel.go
  • model/channel_skip_auto_test_test.go
  • test.txt
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/ja.json
  • web/classic/src/i18n/locales/ru.json
  • web/classic/src/i18n/locales/vi.json
  • web/classic/src/i18n/locales/zh-CN.json
  • web/classic/src/i18n/locales/zh-TW.json
  • web/classic/src/i18n/locales/zh.json
  • web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx
  • web/default/src/features/channels/constants.ts
  • web/default/src/features/channels/lib/channel-form.ts
  • web/default/src/features/channels/types.ts
  • web/default/src/i18n/locales/en.json
  • web/default/src/i18n/locales/fr.json
  • web/default/src/i18n/locales/ja.json
  • web/default/src/i18n/locales/ru.json
  • web/default/src/i18n/locales/vi.json
  • web/default/src/i18n/locales/zh.json
✅ Files skipped from review due to trivial changes (9)
  • test.txt
  • web/default/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/vi.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/zh-TW.json
  • model/channel.go
  • web/default/src/i18n/locales/zh.json
  • web/default/src/i18n/locales/ru.json
🚧 Files skipped from review as they are similar to previous changes (6)
  • model/channel_skip_auto_test_test.go
  • web/default/src/features/channels/constants.ts
  • web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx
  • web/default/src/features/channels/types.ts
  • web/default/src/features/channels/lib/channel-form.ts
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx

Comment thread controller/channel-test.go Outdated
Comment thread web/default/src/i18n/locales/ja.json
Comment thread web/default/src/i18n/locales/vi.json
@YNight-FZQ
YNight-FZQ force-pushed the feat/skip-auto-test-channel branch from b31758b to 0be51a1 Compare May 31, 2026 06:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
controller/channel-test.go (1)

909-912: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Reset testAllChannelsRunning on pre-goroutine failure path.

If model.GetAllChannels(...) fails, the function returns while testAllChannelsRunning is still true, which can block all future channel-test runs until restart.

Proposed fix
 	channels, getChannelErr := model.GetAllChannels(0, 0, true, false)
 	if getChannelErr != nil {
+		testAllChannelsLock.Lock()
+		testAllChannelsRunning = false
+		testAllChannelsLock.Unlock()
 		return getChannelErr
 	}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@controller/channel-test.go` around lines 909 - 912, When
model.GetAllChannels(0, 0, true, false) returns an error, testAllChannelsRunning
remains true and can block future runs; modify the error path in the same
function to set testAllChannelsRunning = false (and any associated cleanup or
unlocking state) before returning the getChannelErr so the global/test flag is
reset on failure. Locate the error branch that checks getChannelErr and add the
assignment to testAllChannelsRunning (and return the original error) so
subsequent channel-test invocations are not blocked.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@controller/channel-test.go`:
- Around line 909-912: When model.GetAllChannels(0, 0, true, false) returns an
error, testAllChannelsRunning remains true and can block future runs; modify the
error path in the same function to set testAllChannelsRunning = false (and any
associated cleanup or unlocking state) before returning the getChannelErr so the
global/test flag is reset on failure. Locate the error branch that checks
getChannelErr and add the assignment to testAllChannelsRunning (and return the
original error) so subsequent channel-test invocations are not blocked.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2f691f29-bebc-4268-a5bf-710b500c1d38

📥 Commits

Reviewing files that changed from the base of the PR and between 0be51a1 and af7cadf.

📒 Files selected for processing (1)
  • controller/channel-test.go

@YNight-FZQ

Copy link
Copy Markdown
Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@YNight-FZQ

Copy link
Copy Markdown
Author

@coderabbitai resume

@coderabbitai

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Reviews resumed.

@YNight-FZQ

Copy link
Copy Markdown
Author

Hi @Calcium-Ion @t0ng7u, this PR is ready for review. It adds a skip_auto_test flag to channels, allowing users to skip scheduled auto-tests on quota-limited channels. All CodeRabbit comments have been addressed. Could you take a look when you have time? Thanks!

@sloth-of-all-trades

Copy link
Copy Markdown

Oh nice, I was just wondering if I can lower the check spam on my free tier endpoints. These checks burn quota for nothing when the channel's already rate-limited.

@YNight-FZQ

Copy link
Copy Markdown
Author

@Calcium-Ion @t0ng7u friendly ping — all CodeRabbit feedback has been addressed, this PR is ready for review. Thanks! 🙏

@YNight-FZQ
YNight-FZQ force-pushed the feat/skip-auto-test-channel branch from b87c0d7 to 62596d4 Compare June 23, 2026 12:32
@YNight-FZQ

Copy link
Copy Markdown
Author

已 rebase 到最新 main,并解决了与新引入的「渠道测试模式」重构的冲突(拆分出 testChannels + testAllChannels/testAutoDisabledChannels 包装函数 + selectChannelsForAutomaticTest 预筛选 + ChannelTestMode 模式)。

在适配新结构的同时保留了原 PR 语义——仅定时测试跳过开启 skip_auto_test 的渠道:

  • testChannels 新增 skipAutoTest bool 参数,循环里 if skipAutoTest && channel.GetSkipAutoTest() { continue }。
  • 定时调度入口直接调用 testChannels(..., true),定时测试时跳过标记的渠道。
  • 手动 TestAllChannels 处理函数仍走 testAllChannels(true) → skipAutoTest=false,手动「测试所有渠道」仍会覆盖全部渠道。

已通过编译和相关单元测试(controller / model 包)。无冲突残留(mergeable: MERGEABLE),等待 review,谢谢!🙏

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@controller/channel-test.go`:
- Around line 1038-1040: The code is currently ignoring errors from
resolveChannelTestUserID and model.GetAllChannels by assigning them to
underscore blanks. Instead, capture these errors and check them immediately
after each function call. If either resolveChannelTestUserID or
model.GetAllChannels returns an error, log the error with appropriate context
information and use continue to skip to the next iteration of the scheduler
loop, allowing the scheduled run to fail fast and provide visibility into what
went wrong rather than silently proceeding with nil or empty data to the
subsequent testChannels call.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 48865b9f-f9a5-4e19-987c-1824a790febb

📥 Commits

Reviewing files that changed from the base of the PR and between b87c0d7 and 62596d4.

📒 Files selected for processing (16)
  • controller/channel-test.go
  • model/channel.go
  • model/channel_skip_auto_test_test.go
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/ja.json
  • web/classic/src/i18n/locales/ru.json
  • web/classic/src/i18n/locales/vi.json
  • web/classic/src/i18n/locales/zh-CN.json
  • web/classic/src/i18n/locales/zh-TW.json
  • web/classic/src/i18n/locales/zh.json
  • web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx
  • web/default/src/features/channels/constants.ts
  • web/default/src/features/channels/lib/channel-form.ts
  • web/default/src/features/channels/types.ts
💤 Files with no reviewable changes (4)
  • web/default/src/features/channels/components/drawers/channel-mutate-drawer.tsx
  • web/default/src/features/channels/types.ts
  • web/default/src/features/channels/lib/channel-form.ts
  • web/default/src/features/channels/constants.ts
✅ Files skipped from review due to trivial changes (7)
  • web/classic/src/i18n/locales/zh.json
  • web/classic/src/i18n/locales/fr.json
  • web/classic/src/i18n/locales/en.json
  • web/classic/src/i18n/locales/ja.json
  • web/classic/src/i18n/locales/ru.json
  • web/classic/src/i18n/locales/zh-CN.json
  • web/classic/src/i18n/locales/vi.json
🚧 Files skipped from review as they are similar to previous changes (4)
  • web/classic/src/i18n/locales/zh-TW.json
  • model/channel_skip_auto_test_test.go
  • model/channel.go
  • web/classic/src/components/table/channels/modals/EditChannelModal.jsx

Comment thread controller/channel-test.go Outdated
Comment on lines +1038 to +1040
testUserID, _ := resolveChannelTestUserID(nil)
channels, _ := model.GetAllChannels(0, 0, true, false)
_ = testChannels(selectChannelsForAutomaticTest(channels, operation_setting.ChannelTestModeScheduledAll), testUserID, false, true, true)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Handle scheduler fetch errors instead of silently discarding them

Line 1038 and Line 1039 ignore errors from resolveChannelTestUserID and model.GetAllChannels. In scheduled runs this can fail silently and skip/empty channel testing without any signal. Please fail fast for that iteration and log the reason.

Suggested fix
-					testUserID, _ := resolveChannelTestUserID(nil)
-					channels, _ := model.GetAllChannels(0, 0, true, false)
-					_ = testChannels(selectChannelsForAutomaticTest(channels, operation_setting.ChannelTestModeScheduledAll), testUserID, false, true, true)
+					testUserID, err := resolveChannelTestUserID(nil)
+					if err != nil {
+						common.SysError(fmt.Sprintf("automatically test channels: resolve test user failed: %v", err))
+						continue
+					}
+					channels, err := model.GetAllChannels(0, 0, true, false)
+					if err != nil {
+						common.SysError(fmt.Sprintf("automatically test channels: load channels failed: %v", err))
+						continue
+					}
+					_ = testChannels(
+						selectChannelsForAutomaticTest(channels, operation_setting.ChannelTestModeScheduledAll),
+						testUserID,
+						false,
+						true,
+						true,
+					)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@controller/channel-test.go` around lines 1038 - 1040, The code is currently
ignoring errors from resolveChannelTestUserID and model.GetAllChannels by
assigning them to underscore blanks. Instead, capture these errors and check
them immediately after each function call. If either resolveChannelTestUserID or
model.GetAllChannels returns an error, log the error with appropriate context
information and use continue to skip to the next iteration of the scheduler
loop, allowing the scheduled run to fail fast and provide visibility into what
went wrong rather than silently proceeding with nil or empty data to the
subsequent testChannels call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants