Skip to content

Conversation

@yashlamba
Copy link
Member

Creating this PR to collaborate on Jobs documentation

@carlinmack carlinmack moved this to In progress in Sprint Q4/2025 Jun 19, 2025
@0einstein0 0einstein0 linked an issue Jun 19, 2025 that may be closed by this pull request
@yashlamba yashlamba marked this pull request as ready for review June 20, 2025 09:32
@carlinmack carlinmack moved this from In progress to In review 🔍 in Sprint Q4/2025 Jun 20, 2025
Copy link
Contributor

@carlinmack carlinmack left a comment

Choose a reason for hiding this comment

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

Looks good, a couple things to fix :)

@carlinmack carlinmack moved this from In review 🔍 to In progress in Sprint Q4/2025 Jun 20, 2025
@yashlamba yashlamba moved this from In progress to In review 🔍 in Sprint Q4/2025 Jun 20, 2025

## Why a Job System?

Traditionally, Celery tasks in InvenioRDM were launched programmatically or via CLI. This created challenges:
Copy link
Contributor

Choose a reason for hiding this comment

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

this sentence is a bit strange to me, because usually we didn't run celery tasks by cli, in majority of cases celery tasks were launched by the application or cron

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree that majority of cases but I have trigered a fet times the user_sync task via CLI, otherwise there was no other way.


## Logging & Auditability

If a Celery task logs via `current_app.logger`, and is invoked as a job, its logs are captured and stored with the run metadata. These logs are shown in the admin UI. All logs are stored in OpenSearch and displayed via the job run UI and API.
Copy link
Contributor

Choose a reason for hiding this comment

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

this part looks to me more as a admin panel user documentation, not the maintenance description for jobs module. For maintenance it would be more relevant to explain how the log line ends up in the report (how to call logger and when - for different log levels)

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmmm to me this looks like on the right place mainly because we are explaining here how to create those logs, it's said in the first sentence

If a Celery task logs via current_app.logger, and is invoked as a job, its logs are captured and stored with the run metadata.

Since this is internal docs (an explanation) I don't think we need more than what is described to let the user know that they can benefit from having logs by using the app logger. I think explaining the different log levels is should be trivial to any user reading this docs.

Explaining more about how the logging works would exceed the purpose of this doc and overwhelm the user with not essential information about the jobs. Happy to discuss more about this IRL in case I am missing something.

P.S. Also we are already showing an example on how to log in the how to guide

Copy link
Contributor

Choose a reason for hiding this comment

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

End up being a bit more verbose around this, let me know if it's clearer now!

Comment on lines +145 to +170
Jobs can be:

- Run immediately from the UI.
- Scheduled with CRON or interval-based configurations via the admin panel.
Copy link
Contributor

Choose a reason for hiding this comment

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

this seems to me also that could be a part of admin user documentation, not maintenance

Copy link
Contributor

Choose a reason for hiding this comment

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

IMHO it should be mentioned in different places with different purpose, in the admin user documentation it should and is mentioned with a screenshot, here is simply explained.

@carlinmack carlinmack moved this from In review 🔍 to In progress in Sprint Q4/2025 Jun 25, 2025
@@ -0,0 +1,107 @@
_added in v13.0.0_
Copy link
Collaborator

Choose a reason for hiding this comment

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

(note for placement discussion)
This page should be in "Use" (/use/jobs) bc purely administration panel interactions. Reference links to the configure page can be added to it.

@ntarocco ntarocco mentioned this pull request Jul 3, 2025
15 tasks
yashlamba and others added 13 commits July 3, 2025 11:26
Co-authored-by: Carlin MacKenzie <carlin.mackenzie@gmail.com>
replace user with instance manager/developer.

Co-authored-by: Karolina <38131488+kpsherva@users.noreply.github.com>
Co-authored-by: Karolina <38131488+kpsherva@users.noreply.github.com>
Co-authored-by: Carlin MacKenzie <carlin.mackenzie@gmail.com>
@ntarocco ntarocco merged commit 48c8d2a into inveniosoftware:master Jul 3, 2025
1 check passed
@github-project-automation github-project-automation bot moved this from In progress to To release 🤖 in Sprint Q4/2025 Jul 3, 2025
@ntarocco
Copy link
Contributor

ntarocco commented Jul 3, 2025

@fenekku @kpsherva added doc review here: #812

@ntarocco ntarocco moved this from To release 🤖 to Released ✔️ in Sprint Q4/2025 Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Released ✔️

Development

Successfully merging this pull request may close these issues.

Document and explain the new Jobs feature introduced in invenio-jobs

7 participants