簡體   English   中英

實施預定推送通知的正確方法是什么?

[英]What is the right way to implement scheduled push notifications?

我正在 Laravel 中做項目。 我想在不同時間向不同用戶發送推送通知。 就像我可以為用戶分配跟進時間,每個用戶可能不同。 我進行了搜索並了解到我們可以使用 cron 作業的概念,但是為此我需要每分鍾運行一次 cron 作業,以便我可以檢查是否是發送推送通知的時間。 可以每分鍾運行一次 cron 作業嗎? 因為我認為,它會增加服務器負載。

任何人都可以給我建議,因為我是這個概念的新手,在這種情況下我真的不知道該怎么做。

Cron 作業是一個計划任務,您可以在任何時間間隔運行。 可以根據您的要求每 1 分鍾運行一次。

在這種情況下,您可以提高 cron 的效率。

您運行文件 -> 檢查是否有任何通知要發送 -> 如果您有繼續您的邏輯。

如果你什么都沒有,你可以exit;

意思是,只有當您有事情要做(我們應該做)時,它才會給服務器帶來一些負載。 每分鍾運行一次 cron 不會給您帶來巨大的服務器負載(同樣取決於您構建代碼/數據庫查詢以優化使用的程度)

希望這能給你一個良好的開端!

我們可以根據方便的時間在系統中添加 cron。 使用以下代碼添加代碼以在特定時間向特定用戶發送通知。

$loc_cron_min   = 30;
$loc_cron_hour  = 12;
$loc_cron_date  = 20;
$loc_cron_month = 01;

exec('echo -e "`crontab -l`\n'.$loc_cron_min.' '.$loc_cron_hour.' '.$loc_cron_date.' '.$loc_cron_month.' * wget -qO /dev/null http://example.com/cron/sendsnotification.php?userid=1" | crontab -');

我們可以在 php 中使用以下行查看所有調度 cron

$output = shell_exec('crontab -l');
    echo $output;

根據上述代碼通知將於 2017 年 1 月 20 日 12:30 發送。 所以你不需要每分鍾執行一次 cron。 執行成功后就可以刪除cron了。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM