job_sequencer 1.2.0 copy "job_sequencer: ^1.2.0" to clipboard
job_sequencer: ^1.2.0 copied to clipboard

Manages sequential job execution, ensuring jobs run in order, crucial for ordered task processing.

example/job_sequencer_example.dart

import 'dart:math';

import 'package:job_sequencer/job_sequencer.dart';
import 'package:job_sequencer/src/data/job.dart';

Future<void> main() async {
  // Create an instance of JobSequencer
  final jobSequencer = JobSequencer();

  // Define a simple job function
  Future<void> printJob(int jobNumber) async {
    print('Executing job $jobNumber');
    var rand = Random();
    await Future.delayed(Duration(milliseconds: rand.nextInt(1000)));
    print('Executed job $jobNumber');
  }

  Job createJob(int i) {
    return Job(fn: () async => printJob(i), index: i);
  }

  // Create and add jobs to the sequencer
  jobSequencer.addJob(createJob(0));
  jobSequencer.addJob(createJob(1));
  jobSequencer.addJob(createJob(2));
  jobSequencer.addJob(createJob(3));

  await jobSequencer.waitAndReset();

  jobSequencer.createAndAdd(() async => await printJob(0));
  jobSequencer.createAndAdd(() async => await printJob(1));
  jobSequencer.createAndAdd(() async => await printJob(2));
  jobSequencer.createAndAdd(() async => await printJob(3));
}
0
likes
160
points
249
downloads

Publisher

unverified uploader

Weekly Downloads

Manages sequential job execution, ensuring jobs run in order, crucial for ordered task processing.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on job_sequencer