Menggunakan *gin.Context dalam kerja cron

WBOY
Lepaskan: 2024-02-10 19:30:08
ke hadapan
614 orang telah melayarinya

在 cron 作业中使用 *gin.Context

editor php Banana memperkenalkan kepada anda penggunaan gin.Konteks dalam pekerjaan cron. Gin ialah rangka kerja web bahasa Go yang popular, tetapi anda mungkin menghadapi beberapa masalah menggunakannya dalam kerja cron. Tugas cron ialah tugas yang berjalan secara berkala di latar belakang dan bukannya membalas permintaan HTTP. Oleh itu, kita tidak boleh menggunakan gin.Konteks secara langsung seperti yang kita boleh dalam aplikasi web. Walau bagaimanapun, kami boleh menggunakan gin.Context dengan mensimulasikan permintaan HTTP untuk menikmati kemudahan rangka kerja Gin dalam kerja cron. Dalam artikel ini, kami akan meneroka cara menggunakan gin.Konteks dalam pekerjaan cron dan memberikan beberapa petua dan pertimbangan praktikal.

Kandungan soalan

Saya mempunyai tugas cron yang akan memanggil fungsi yang memerlukan *gin.context sebagai pernyataan yang akan diperlukan dalam proses lain dalam langkah seterusnya. Kod saya dulu kelihatan seperti ini:

_, _ = c.cr.addfunc(constant.cronrunningat(8), func() {
        ctx := &gin.context{}
        c.loan.loanrepaymentnotification(ctx)
    })
Salin selepas log masuk

Tetapi ia menimbulkan ralat seperti ini:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x38 pc=0x100d154f4]
Salin selepas log masuk

Adakah terdapat sebarang cara untuk menjana jenis nilai yang boleh dihantar ke fungsi yang dipanggil *gin.context? Terima kasih

Penyelesaian

Jika anda perlu menggunakan kaedah ini pada tugas cron, ia bermakna MESTI TIDAK digunakan gin.Context. Seperti yang dinyatakan dalam dokumentasi perpustakaan:

Gin ialah rangka kerja web yang ditulis dalam Go.

Jadi apa yang anda mahu lakukan dengan gin.Context 做的事情可以通过另一种方式来实现,例如 context.Context boleh dicapai dengan cara lain, seperti context.Context . Ia bergantung pada apa yang anda mahu lakukan pada akhirnya, tetapi anda harus mengubahnya dengan LoanRepaidNotification 或其底层方法来重构代码,以便在 cron 作业中仅使用 context.Context .

Atas ialah kandungan terperinci Menggunakan *gin.Context dalam kerja cron. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan