push method

  1. @override
Future<void> push(
  1. Job job, [
  2. String queue = 'default'
])
override

Pushes a job onto the specified queue.

Implementation

@override
Future<void> push(Job job, [String queue = 'default']) async {
  String? payload;
  final currentJob = job;
  if (currentJob is SerializableJob) {
    payload = currentJob.serialize();
  }

  await _db.query('''
    INSERT INTO $_table (id, name, queue, status, attempts, max_retries, payload, created_at, available_at)
    VALUES (@id, @name, @queue, @status, @attempts, @maxRetries, @payload, @createdAt, @availableAt)
  ''', {
    'id': job.id,
    'name': job.name,
    'queue': queue,
    'status': 'pending',
    'attempts': job.attempts,
    'maxRetries': job.maxRetries,
    'payload': payload,
    'createdAt': job.createdAt,
    'availableAt': job.availableAt,
  });
}