Sidekiq worker to create self monitoring project
What does this MR do?
A Sidekiq worker for creating the self-monitoring project. The worker executes the Gitlab::DatabaseImporters::SelfMonitoring::Project::CreateService
.
It stores the output of the CreateService in Redis. The job ID is a part of the Redis key (self_monitoring_create_result:#{job_id}
).
The worker creates a Redis key (self_monitoring_create_in_progress:#{job_id}
) when it is executing and deletes the key when it completes execution. This is used to check if the worker is executing.
The worker has a .status
class method that takes a job_id
parameter and checks the content of the Redis keys to determine the current status of the job.
This MR also modifies the Gitlab::DatabaseImporters::SelfMonitoring::Project::CreateService
to return data that can be stored in Redis.
Issue: #32351 (closed)
Screenshots
Does this MR meet the acceptance criteria?
Conformity
Changelog entry-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides Database guides-
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team