push method

  1. @override
Future<String> push(
  1. String queue,
  2. String payload
)
override

Push a job to the queue

Implementation

@override
Future<String> push(String queue, String payload) async {
  final timestamp = DateTime.now().millisecondsSinceEpoch;
  final counter = _jobCounter++;
  final jobId = '${timestamp}_$counter';
  final job = Job(
    id: jobId,
    queue: queue,
    payload: payload,
    createdAt: DateTime.now(),
  );

  // Store job
  await _redis.set(_getJobKey(jobId), jsonEncode(job.toJson()));

  // Add to queue
  await _redis.client.send_object(['LPUSH', _getQueueKey(queue), jobId]);

  return jobId;
}