Adds @spec annotations to all Oban worker perform/1 functions to improve
static analysis and documentation. Return types are specific to each worker's
actual behavior:
Workers returning 🆗
- BackupSummaryWorker
- BackupTimeoutWorker
- DeviceMonitorWorker
- DevicePollerWorker
- JobHealthCheckWorker
- NeighborCleanupWorker
Workers with complex returns:
- DiscoveryWorker: :ok | :discard
- FirmwareVersionFetcherWorker: :ok | {:error, term()}
- LoginHistoryCleanupWorker: {:ok, %{deleted: non_neg_integer(), anonymized_deleted: non_neg_integer()}}
- MikrotikBackupWorker: :ok | {:error, String.t()}
- SessionCleanupWorker: {:ok, %{sessions_deleted: non_neg_integer()}}
Analysis found that none of these workers have complex job parameters that
would benefit from embedded schemas - all use either no parameters or simple
device_id strings passed in job args.
StaleAgentWorker already had a typespec on find_stale_agents/0 from previous work.
All 98 worker tests passing after changes.
|
||
|---|---|---|
| .. | ||
| agent_latency_evaluator.ex | ||
| backup_summary_worker.ex | ||
| backup_timeout_worker.ex | ||
| device_monitor_worker.ex | ||
| device_poller_worker.ex | ||
| discovery_worker.ex | ||
| firmware_version_fetcher_worker.ex | ||
| job_cleanup_task.ex | ||
| job_health_check_worker.ex | ||
| login_history_cleanup_worker.ex | ||
| mikrotik_backup_worker.ex | ||
| polling_offset.ex | ||
| session_cleanup_worker.ex | ||
| stale_agent_worker.ex | ||