Files
backstage/packages/backend-tasks
github-actions[bot] 2a2c84ba68 Version Packages
2024-08-20 08:56:34 +00:00
..
2024-07-16 09:34:27 -04:00
2024-08-20 08:56:34 +00:00
2024-02-08 09:53:18 +01:00
2024-08-20 08:56:34 +00:00

@backstage/backend-tasks

Caution

This package is deprecated and will be removed in a near future.

Common distributed task management for Backstage backends.

Usage

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 on coreServices.scheduler from @backstage/backend-plugin-api instead, or use DefaultSchedulerService 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();
  },
});