2017-08-31 13 views
0

我試圖在任務計劃中定義一些'可以執行/運行'(也可能是命令?)。
所以我可能有一個命令假裝稱爲PushNotificationJob和另一個命令WriteToLogFileJob等
我想暴露這些在我的管理GUI,以便我可以添加一個BatchProcess。
所以,想象在一個Laravel CMS頁面,上面寫着「添加批處理」按鈕,並在頁面收集信息的一個新的批處理:以編程方式公開Laravel任務併爲不同目的「重複使用」

  1. 什麼任務/作業運行(下拉已假裝當前定義 任務:PushNotificationJob和WriteToLogFileJob)
  2. 何時運行它(cron字符串)
  3. 要發送到該任務/作業的鍵/值參數。

現在假裝我定義了使用PushNotificationJob任務(其中發送PARAMS稱爲'發送應用程序更新NOTIF到用戶在該頁面上BatchProcess:--message =和 - 「嘿$名稱,更新您的應用程序!」 -priority ='high'應該每天運行)。 和另一個BatchProcess調用'Send newsletter to users',如果可能的話也使用相同的PushNotificationJob任務(發送參數:--message ='Hey $ name,登錄到我們的應用程序來檢出最新通訊!'和--priority = '正常'),每兩週運行一次。真的,參數和時間是唯一不同的東西,任務本身仍然是一樣的,它向用戶發送帶有該優先級的消息參數的推送通知。

這一切都可行嗎? 我已經看到了一些將所有當前任務公開給用戶界面的方法。 ,也許你也可以看到一種方法,你可以爲一個任務設置一個cron字符串......但是這似乎是它重用了同一個任務,所以它不能通過不同的cron字符串以不同的方式創建'重複使用相同任務的多個任務'/PARAMS。

這裏最信息我有這麼遠,也許暴露任務的用戶界面:

laravel add scheduler dynamically

LARAVEL: Get an array of scheduled tasks for output in admin dashboard

如果這是可以實現的,讓我知道下面。

回答

0

創建一個辦法做到這一點基於其他職位: https://github.com/armyofda12mnkeys/laravel-task-gui-linkage(主分支) 所以先創建一些命令......選項/這些命令ARGS應該在你的指揮類預先定義(這有點兒限制您可以通過GUI發送的動態數量和確切的參數)。

然後在你的GUI中,鍵入任務的名稱(或通過DB或硬編碼鏈接表單值到下拉列表),並設置一個時間(cron或關鍵字每小時)和參數發送給它。

然後Kernel.php可以根據我看到的其他代碼動態註冊它們。

相關問題