-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Queue Monitoring - Schedulers Refactor #4076
Comments
…an balance) (#4118) - Refactored SIN validation-related schedulers and student loan balance import. - Adjusted E2E tests.
…Receipts) (#4135) - Refactored schedulers `disbursement-receipts-file-integration` and `federal-restrictions-integration`. - Adjusted existing E2Es. - As agreed in previous PRs - moving the audit user to the service instead of the processor. - removing the friendly start/end logs from the processor since the `BaseQueue` is already logging similar start/end logs. ### E2E `containLogMessages` changes To allow the below check to happen the method `containLogMessages` was changed to check if the string "contains" a value instead of "endsWith" it. The `endsWith` was used to have a more precise check and remove the log initial information (e.g. context and date). Using the "contains" will still give enough assertion precision and allow inspecting errors currently serialized to a JSON. ```ts // Act/Assert await expect(processor.processQueue(mockedJob.job)).rejects.toThrow( "One or more errors were reported during the process, please see logs for details.", ); expect( mockedJob.containLogMessages([ `Error downloading file ${expectedFileName}.`, "Invalid file footer.", ]), ).toBe(true); ```
…dback) (#4159) Refactored the below schedulers. - ecert-full-time-feedback - ecert-full-time-process - ecert-part-time-feedback - ecert-part-time-process
@CarlyCotton while executing the refactor I noticed that we need a way to generate alerts for jobs finalizing with success but having some warnings.
The recommendation right now is to make the jobs count any execution that was finalized and contain at least a warning. This counter will be then collected by Sysdig and we can generate an alert about it. Does it make sense? Warnings examples.
|
…nter (#4186) - Collected a metric for jobs finalizing with some warnings to allow the creation of a Sysdig alert based on the counter. - Injected the service as a property to avoid passing the service to every single class inheriting from the `BaseQueue`. ### New metric sample from metrics payload ``` queue_event_total_count { queueName="student-application-notifications", queueEvent="job-finalized-with-warnings", queueType="scheduler", app="queue-consumers" } 2 ``` ![image](https://github.com/user-attachments/assets/2d7e7c13-1b40-47a9-b2a5-2f1cf7f349af) _Note:_ this change was a quick way to resolve the concerned raised and explained to the business in this [comment](#4076 (comment)).
User Story
As a product team, we need to monitor the queues and associated SFTP folders to diagnose errors in processing the files, and confirm archiving behavior for failed files.
This is a continuation of the schedulers refactors started during #3666.
Acceptance Criteria
processQueue
method.The text was updated successfully, but these errors were encountered: