[!CAUTION] This package is deprecated and will be removed in a near future.
Common distributed task management for Backstage backends.
[!CAUTION] Please note that the documentation below is only valid for versions equal to or below
0.5.28-next.3
. As this package will be deleted soon, we recommend that you migrate to the new backend system, and depend oncoreServices.scheduler
from@backstage/backend-plugin-api
instead, or useDefaultSchedulerService
from@backstage/backend-defaults
. Here are the backend and plugin migration guides.
Add the library to your backend package:
# From your Backstage root directory
yarn --cwd packages/backend add @backstage/backend-tasks
then make use of its facilities as necessary:
import { TaskScheduler } from '@backstage/backend-tasks';
const scheduler = TaskScheduler.fromConfig(rootConfig).forPlugin('my-plugin');
await scheduler.scheduleTask({
id: 'refresh_things',
frequency: { cron: '*/5 * * * *' }, // every 5 minutes, also supports Duration
timeout: { minutes: 15 },
fn: async () => {
await entityProvider.run();
},
});