Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » pathToFile при отправке почты » 17.08.2016 07:46:10

Sawa4
Ответов: 0

Всем привет!
Ребята выручайте, если использовать код ниже для отправки почты, локально все работает.
Mail::later($timeSend, 'emails.queued_email', ['text' => $text], function ($message) use ($user, $title, $senderName, $pathToFile) {
                    $message->from('admin@example.com', $senderName);
                    $message->to($user->email)->subject($title);
                    $message->attach($pathToFile);
                });

По коду можно понять что перед отправкой в ложем таблицу очереди Laravel jobs. Локально все работает. В payload table jobs путь до вложенного файла есть. Но на сервере он обрывается и пустой с некоторыми лишними тегами, перепробовал все известные мине способы.
Может кто то сталкивался?
Локально: "pathToFile\";s:53:\"\/var\/www\/mysite.com\/public\/149379992_images.jpg\";}s:7:\"binding\";N;s:5:\"scope\";s:43:\"App\\Http\\Controllers\\MyController\";s:8:\"isStatic\";b:0;}}"}}
на сервере:

"pathToFile\";s:96:\"\/var\/www\/mysite.com\/public\/>\n        <meta http-equiv=\"refresh\" content=\"1;url=http:\";}s:7:\"binding\";N;s:5:\"scope\";s:43:\"App\\Http\\Controllers\\MyController\";s:8:\"isStatic\";b:0;}}"}}

#2 Re: Laravel 5.x » Как правильно прописать задачу в планировщике cron? » 27.07.2016 08:59:40

Вообщем понял одно
Если писать просто $schedule->command('backup:run');
то пашет, а если
$schedule->command('backup:run')->dailyAt('11:00');
или
$schedule->command('backup:run')->daily()->at('11:00');
то не работает.
Кто знает почему такое возможно?

#3 Re: Laravel 5.x » Как правильно прописать задачу в планировщике cron? » 27.07.2016 07:08:42

может что в app/Console/Kernel.php не правильно? :
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('backup:run')->daily()->at('09:45');
    }

но в ручную команда запускается php artisan backup:run работает

#4 Re: Laravel 5.x » Как правильно прописать задачу в планировщике cron? » 27.07.2016 06:51:01

tail -f /var/log/syslog показывает:

Jul 27 09:45:31 localhost kernel: [3077297.612921] INPUT DROP: IN=eth0 OUT= MAC=40:f2:e9:94:8b:ca:2c:6b:f5:74:c2:01:08:00 SRC=112.173.171.90 DST=89.218.73.194 LEN=60 TOS=0x04 PREC=0x00 TTL=48 ID=33502 DF PROTO=TCP SPT=52634 DPT=23 WINDOW=5840 RES=0x00 SYN URGP=0
Jul 27 09:46:01 localhost /USR/SBIN/CRON[28882]: (sawa) CMD (root /usr/bin/php /var/www/site.name/artisan schedule:run 1>> /dev/null 2>&1)

Но ничего не выполняется.
Что означает localhost kernel: [3077297.612921] INPUT DROP  ?, он все время повторяется

#5 Re: Laravel 5.x » Как правильно прописать задачу в планировщике cron? » 26.07.2016 19:32:19

У меня сейчас в /var/spool/cron/crontabs/ лежит файл какой то ivan с правами -rx--------
внутри написано:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.vKjbhh/crontab installed on Fri Aug  8 16:57:52 2014)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
0 0 * * * wget -O - -q -t 1 http://www.site.name/cron.php?cron_key= … 2fG_k_R8-Y
0 1 * * * wget -O - -q -t 1 http://sandbox.site.name/cron.php?cron_ … Mcok-dSn0s

мне сюда прописывать свою задачу или создать свой файл?

#6 Laravel 5.x » Как правильно прописать задачу в планировщике cron? » 26.07.2016 11:47:45

Sawa4
Ответов: 9

Всем доброго дня!
Кто нибудь знает как правильно прописать в планировщике пути?
Я делаю так:

*  *    * * *   root    /usr/bin/php /var/www/stse.ncste.kz/artisan schedule:run » /dev/null 2>&1
*  *    * * *   root    /usr/bin/php /var/www/stse.ncste.kz schedule:run » /dev/null 2>&1
*  *    * * *   root    php /var/www/stse.ncste.kz/artisan schedule:run » /dev/null 2>&1
*  *    * * *   root    php /var/www/stse.ncste.kz schedule:run » /dev/null 2>&1

в файле etc/crontab Linux Debian 7.8
И не один из вариантов не работает

#7 Re: Laravel 5.x » Как отправлять почту средствами Laravel используя cron? » 13.07.2016 09:18:59

Elelas пишет:

Можно доверить обработку записи из очереди менеджеру очереди.?

Не совсем понял документацию, можете объяснить:
1. Сперва создаем миграцию/таблицу

php artisan queue:table
php artisan migrate

2. создаем php artisan make:job SendReminderEmail --queued класс задач
3. добавляем задачу в очередь $this->dispatch(new SendReminderEmail($user));
4. Запуск слушателя очереди php artisan queue:listen который каким то образом сам все выполняет
Вопрос:
1. логика правильная?
2. У меня есть таблица (Н-м message_users) где выбраны определенные юзеры, которых надо уведомить. Как я понял в

Sawa4 пишет:

1. Сперва создаем миграцию/таблицу

таблице очереди (jobs) который я создал, должна быть заполнена данными из message_users?
3. Если нужно очеред заполнять, это делается в Классе задач SendReminderEmail ?
4. мне нужно эту команду  php artisan queue:listen повесить на крон?

#8 Re: Laravel 5.x » Как отправлять почту средствами Laravel используя cron? » 07.07.2016 06:32:10

Да задача стоит чтоб через крон в определенное время отправлять

#9 Re: Laravel 5.x » Как отправлять почту средствами Laravel используя cron? » 06.07.2016 14:24:20

Не могу все это связать. Может поможете, в документации не совсем понятно мне.
Может кто то простому смертному объяснить?
Как я понимаю - Логика такова для моей задачи, с таблице users взять несколько определенных пользователей, и добавить их в очередь для отправки почты.
Добавить в очередь это значить добавить в таблицу jobs которая создается php artisan queue:table ?
А в крон нужно считывать с таблицы jobs и отправлять почту?
Или я не так понимаю суть?

#10 Laravel 5.x » Как отправлять почту средствами Laravel используя cron? » 29.06.2016 13:37:53

Sawa4
Ответов: 8

Как отправлять почту средствами Laravel 5.x, в документации есть такое. Читал, запутался полностью. Может кто знает лучше статью или уделит немного время и разъяснит что да как?
Что мне нужно:
1. Зарегистрировать очередь отправки почты (php artisan queue:table - в эту таблицу каким то образом оно пишется)
2. Создать задачу отправки почты
3. Отправить ее с помощью cron через какое то время - вопрос только как?

Подвал раздела