Bagikan melalui


Menjadwalkan pekerjaan

Dalam konteks pusat panggilan, pelanggan mungkin ingin menerima panggilan balik terjadwal di lain waktu. Dengan demikian, Anda perlu membuat pekerjaan terjadwal di Job Router.

Prasyarat

Membuat pekerjaan menggunakan ScheduleAndSuspendMode

Dalam contoh berikut, pekerjaan dibuat yang dijadwalkan 3 menit dari sekarang dengan mengatur MatchingMode ke ScheduleAndSuspendMode dengan scheduleAt parameter. Contoh ini mengasumsikan bahwa Anda membuat antrean dengan queueId Callback dan ada pekerja aktif yang terdaftar ke antrean dengan kapasitas yang tersedia di Voice saluran.

await client.CreateJobAsync(new CreateJobOptions(jobId: "job1", channelId: "Voice", queueId: "Callback")
{
    MatchingMode = new ScheduleAndSuspendMode(scheduleAt: DateTimeOffset.UtcNow.Add(TimeSpan.FromMinutes(3)))
});
await client.path("/routing/jobs/{jobId}", "job1").patch({
    body: {
        channelId: "Voice",
        queueId: "Callback",
        matchingMode: {
            kind: "scheduleAndSuspend",
            scheduleAt: new Date(Date.now() + 3 * 60000)
        }
    },
    contentType: "application/merge-patch+json"
});
client.upsert_job(
    job_id = "job1",
    channel_id = "Voice",
    queue_id = "Callback",
    matching_mode = ScheduleAndSuspendMode(schedule_at = datetime.utcnow() + timedelta(minutes = 3)))
client.createJob(new CreateJobOptions("job1", "Voice", "Callback")
    .setMatchingMode(new ScheduleAndSuspendMode(OffsetDateTime.now().plusMinutes(3))));

Catatan

Status pekerjaan setelah dijadwalkan pada awalnya PendingSchedule, dan setelah Job Router berhasil menjadwalkan pekerjaan, status diperbarui ke Scheduled.

Tunggu hingga waktu terjadwal tercapai, lalu antrekan pekerjaan

Ketika waktu terjadwal tercapai, status pekerjaan diperbarui ke WaitingForActivation dan Job Router memancarkan peristiwa RouterJobWaitingForActivation ke Event Grid. Jika peristiwa ini berlangganan, beberapa tindakan yang diperlukan dapat dilakukan, sebelum memungkinkan pekerjaan dicocokkan dengan pekerja. Misalnya, dalam konteks pusat kontak, tindakan tersebut dapat melakukan panggilan keluar dan menunggu pelanggan menerima panggilan balik. Setelah tindakan yang diperlukan selesai, pekerjaan dapat diantrekan dengan memanggil UpdateJobAsync metode dengan MatchingMode diatur ke QueueAndMatchMode dan prioritas diatur ke 100 untuk menemukan pekerja yang memenuhi syarat dengan cepat, yang memperbarui status pekerjaan menjadi queued.

// Event Grid Event Handler code omitted
if (eventGridEvent.EventType == "Microsoft.Communication.RouterJobWaitingForActivation")
{
    // Perform required actions here

    await client.UpdateJobAsync(new RouterJob(jobId: eventGridEvent.Data.JobId)
    {
        MatchingMode = new QueueAndMatchMode(),
        Priority = 100
    });
}
// Event Grid Event Handler code omitted
if (eventGridEvent.EventType == "Microsoft.Communication.RouterJobWaitingForActivation")
{
    // Perform required actions here

    await client.path("/routing/jobs/{jobId}", eventGridEvent.data.jobId).patch({
      body: {
          matchingMode: { kind: "queueAndMatch" },
          priority: 100
      },
      contentType: "application/merge-patch+json"
    });
}
# Event Grid Event Handler code omitted
if (eventGridEvent.event_type == "Microsoft.Communication.RouterJobWaitingForActivation")
{
    # Perform required actions here

    client.upsert_job(
        job_id = eventGridEvent.data.job_id,
        matching_mode = queue_and_match_mode = {},
        priority = 100)
}
// Event Grid Event Handler code omitted
if (eventGridEvent.EventType == "Microsoft.Communication.RouterJobWaitingForActivation")
{
    // Perform required actions here

    job = client.updateJob(eventGridEvent.getData().toObject(new TypeReference<Map<String, Object>>() {
}).get("JobId").toString(), BinaryData.fromObject(new RouterJob()
        .setMatchingMode(new QueueAndMatchMode())
        .setPriority(100)), null).toObject(RouterJob.class);
}

Langkah berikutnya

i

  • Pelajari cara menerima penawaran Job Router yang dikeluarkan setelah pekerja yang cocok ditemukan untuk pekerjaan tersebut.