From acc95923da555b2bf17a5638e62e533218c5840a Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Mon, 13 Feb 2023 18:40:48 +0000 Subject: [performance] processing media and scheduled jobs improvements (#1482) * replace media workers with just runners.WorkerPool, move to state structure, use go-sched for global task scheduling * improved code comment * fix worker tryUntil function, update go-runners/go-sched * make preprocess functions package public, use these where possible to stop doubled up processing * remove separate emoji worker pool * limit calls to time.Now() during media preprocessing * use Processor{} to manage singular runtime of processing media * ensure workers get started when media manager is used * improved error setting in processing media, fix media test * port changes from processingmedia to processing emoji * finish code commenting * finish code commenting and comment-out client API + federator worker pools until concurrency worker pools replaced * linterrrrrrrrrrrrrrrr --------- Signed-off-by: kim --- internal/state/state.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'internal/state/state.go') diff --git a/internal/state/state.go b/internal/state/state.go index 479e9f56f..f3a907378 100644 --- a/internal/state/state.go +++ b/internal/state/state.go @@ -21,6 +21,8 @@ package state import ( "github.com/superseriousbusiness/gotosocial/internal/cache" "github.com/superseriousbusiness/gotosocial/internal/db" + "github.com/superseriousbusiness/gotosocial/internal/storage" + "github.com/superseriousbusiness/gotosocial/internal/workers" ) // State provides a means of dependency injection and sharing of resources @@ -36,6 +38,12 @@ type State struct { // DB provides access to the database. DB db.DB + // Storage provides access to the storage driver. + Storage *storage.Driver + + // Workers provides access to this state's collection of worker pools. + Workers workers.Workers + // prevent pass-by-value. _ nocopy } -- cgit v1.2.3