yalelibrary / YUL-DC

Preliminary issue tracking for Yale University Libraries Digital Collections project
3 stars 0 forks source link

"Clean up" job queues #2884

Closed sshetenhelm closed 2 months ago

sshetenhelm commented 4 months ago

Story We should examine and "clean up" our job queues for our various jobs. This may include investigating the following:

Acceptance

jpengst commented 2 months ago

Here's a list of all our jobs ordered by priority. It looks like we can limit the number of jobs that get enqueued by a single job by setting a job_limit (kind of similar to the SolrIndexAllJob) and we can also limit the total number of jobs that can be enqueued through a GoodJobs config: config.good_job.queue_select_limit = 1000

I think we should discuss the priorities listed below to see if we need any adjusting:

Image

sshetenhelm commented 2 months ago

FOR YOUR CONSIDERATION, comments and dissenions welcome.

To be lowered in priority:

To be raised in priority:

The following should be raised to 10 -

In theory, this would allow Preservica Syncs to be slightly more prioritized than, say, resyncing an entire collection's metadata.

The following should all be raised to 50 -

Basically, with limited exceptions, any job that is user generated via a batch process or just results in a spreadsheet should be prioritized.

jpengst commented 2 months ago

"Is this the one that checks to make sure people have or do not have permissions to view on object?"

^ Yep, that is correct.

PR for the adjustments: https://github.com/yalelibrary/yul-dc-management/pull/1433

K8Sewell commented 2 months ago

Deployed to Test with release v2.71.9

K8Sewell commented 2 months ago

On Test, a sample of jobs are completing successfully - except Preservica Resync jobs which is to be expected. Not really possible to test the changed priorities effect on how quickly jobs are processed without a significant amount of jobs running. The ones I tested went really quickly. Screenshots below of updated priority reflected in GoodJob Dashboard and successfully completed jobs.

Will promote to UAT.

Image

Image

sshetenhelm commented 2 months ago

Could someone please remind me which job exports all parent objects by set? I triggered that one as well as a 'by source' and the 'by source' worked, but I'm assuming the 'by set' is still in the queue after a bunch of manifest refreshes.

The 'export all parents by admin set' should also be set at 50.

jpengst commented 2 months ago

The 'export all parents by admin set' is handled by the CreateParentOidCsvJob and is currently set to -100. Will put back to In Progress for the quick change.

PR: https://github.com/yalelibrary/yul-dc-management/pull/1441

K8Sewell commented 2 months ago

Deployed to Test with release v2.72.1

K8Sewell commented 2 months ago

On Test 'export all parents by admin set' job is set to 50 as expected. Will promote to UAT.

Image

sshetenhelm commented 2 months ago

Looks good to me! Ready to close