]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-326] mq added
authorAlexander Smirnov <fredeom@mail.ru>
Wed, 5 Mar 2025 10:40:44 +0000 (13:40 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Wed, 5 Mar 2025 10:40:44 +0000 (13:40 +0300)
erp24/jobs/SendTelegramTestMessageJob.php [new file with mode: 0644]
erp24/scripts/tasks/task_35_new_order_to_telegram.php

diff --git a/erp24/jobs/SendTelegramTestMessageJob.php b/erp24/jobs/SendTelegramTestMessageJob.php
new file mode 100644 (file)
index 0000000..ec44129
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace app\jobs;
+
+
+use GuzzleHttp\Client;
+use Yii;
+use yii\queue\JobInterface;
+use yii_app\services\TelegramService;
+
+class SendTelegramTestMessageJob extends \yii\base\BaseObject implements JobInterface
+{
+    public $messageData;
+
+    public function execute($queue)
+    {
+        $message = ($this->messageData)['message'];
+
+        $botToken = TelegramService::TELEGRAM_BOT_DEV;
+        $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage";
+        $chats = ['337084327', '5489795686']; //Алексей
+        $message = TelegramService::escapeMarkdown($message);
+        $client = new Client();
+        foreach ($chats as $chatId) {
+            try {
+                $client->post($apiURL, [
+                    'json' => [
+                        'chat_id' => $chatId,
+                        'text' => $message,
+                        'parse_mode' => 'MarkdownV2',
+                    ],
+                ]);
+            } catch (\Exception $e) {
+                Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram');
+            }
+        }
+    }
+}
index 0ea25e006809dddcda2eb0e79de0e22391d95c6b..359a11d54554a9930c2af5a9990c2437a9455eff 100644 (file)
@@ -68,24 +68,9 @@ try {
             MarketplaceOrders::updateAll(['status_telegram' => MarketplaceOrders::STATUS_TELEGRAM_SENT],
                                          ['status_telegram' => MarketplaceOrders::STATUS_TELEGRAM_PREPARED_TO_SEND]);
 
-            $botToken = TelegramService::TELEGRAM_BOT_DEV;
-            $apiURL = "https://api.telegram.org/bot{$botToken}/sendMessage";
-            $chats = ['337084327', '5489795686']; //Алексей
-            $message = TelegramService::escapeMarkdown("Тестовое сообщение для https://tracker.yandex.ru/ERP-326 из шедулера");
-            $client = new Client();
-            foreach ($chats as $chatId) {
-                try {
-                    $client->post($apiURL, [
-                        'json' => [
-                            'chat_id' => $chatId,
-                            'text' => $message,
-                            'parse_mode' => 'MarkdownV2',
-                        ],
-                    ]);
-                } catch (\Exception $e) {
-                    Yii::error("Ошибка отправки сообщения в Telegram: " . $e->getMessage(), 'telegram');
-                }
-            }
+            Yii::$app->queue->push(new \app\jobs\SendTelegramTestMessageJob([
+                'message' => "Тестовое сообщение для https://tracker.yandex.ru/ERP-326 из шедулера"
+            ]));
         }
         ////////////////////////////////////////////////////////////////////////
         $info = ' ================ test Task ' . $taskNum . ' stop ================';