Common distributed task management for Backstage backends.
Add the library to your backend package:
# From your Backstage root directory
cd packages/backend
yarn add @backstage/backend-tasks
then make use of its facilities as necessary:
import { TaskScheduler } from '@backstage/backend-tasks';
import { Duration } from 'luxon';
const scheduler = TaskScheduler.fromConfig(rootConfig).forPlugin('my-plugin');
await scheduler.scheduleTask({
id: 'refresh-things',
frequency: Duration.fromObject({ minutes: 10 }),
fn: async () => {
await entityProvider.run();
},
});