This commit is contained in:
@@ -8,7 +8,12 @@ import { createLocalImageStorage, resolveProjectImageStorageRoot } from '../../a
|
||||
import { createImageDerivativeProcessor } from '../../api/src/infrastructure/images/image-derivative-processor.js';
|
||||
import { createSharpImageRenderer } from '../../api/src/infrastructure/images/sharp-image-renderer.js';
|
||||
import { createImageDerivativeJobRepository } from '../../api/src/modules/inventory/repositories/image-derivative-job-repository.js';
|
||||
import { createPricingRepository } from '../../api/src/modules/pricing/repositories/pricing-repository.js';
|
||||
import { createPricingRefreshJobRepository } from '../../api/src/modules/pricing/repositories/pricing-refresh-job-repository.js';
|
||||
import { createPricingService } from '../../api/src/modules/pricing/services/pricing-service.js';
|
||||
import { createPricingProviderRegistry } from '../../api/src/modules/pricing/providers/pricing-provider.js';
|
||||
import { processNextPersistentImageDerivativeJob } from './image-derivative-worker.js';
|
||||
import { processNextPersistentPricingRefreshJob, runPricingRefreshJob } from './pricing-refresh-worker.js';
|
||||
|
||||
const pollIntervalMs = Number.parseInt(process.env.WORKER_POLL_INTERVAL_MS ?? '2000', 10);
|
||||
|
||||
@@ -17,6 +22,12 @@ async function runWorker() {
|
||||
const database = createDatabase();
|
||||
const imageStorage = createLocalImageStorage(imageStorageRoot);
|
||||
const jobRepository = createImageDerivativeJobRepository(database.db);
|
||||
const pricingRefreshJobRepository = createPricingRefreshJobRepository(database.db);
|
||||
const pricingProviderRegistry = createPricingProviderRegistry();
|
||||
const pricingService = createPricingService({
|
||||
pricingRepository: createPricingRepository(database.db),
|
||||
pricingProviderRegistry,
|
||||
});
|
||||
const processor = createImageDerivativeProcessor({
|
||||
imageStorage,
|
||||
renderer: createSharpImageRenderer(),
|
||||
@@ -32,6 +43,17 @@ async function runWorker() {
|
||||
});
|
||||
|
||||
if (result) console.log(`Image derivative job ${result.id} ${result.status.toLowerCase()}.`);
|
||||
|
||||
const pricingResult = await processNextPersistentPricingRefreshJob({
|
||||
jobRepository: pricingRefreshJobRepository,
|
||||
pricingRefreshJob: (job) => runPricingRefreshJob({
|
||||
job,
|
||||
providerRegistry: pricingProviderRegistry,
|
||||
pricingService,
|
||||
}),
|
||||
});
|
||||
|
||||
if (pricingResult) console.log(`Pricing refresh job ${pricingResult.id} ${pricingResult.status.toLowerCase()}.`);
|
||||
}
|
||||
|
||||
await processOne();
|
||||
|
||||
Reference in New Issue
Block a user