• Nuxt 3 - как прокинуть переменные окружения в production?

    un1t
    @un1t Автор вопроса
    После долгих мучений и чтения документации решил вопрос следующим способом.
    В конфиге указываю пустые значения, а в переменных окружения, переменные должны начинаться на NUXT_, NUXT_PUBLIC_ тогда они перезапишут значения.

    NUXT_API_SECRET=api_secret_token
    NUXT_PUBLIC_API_BASE=https://nuxtjs.org

    export default defineNuxtConfig({
      runtimeConfig: {
        apiSecret: '', // can be overridden by NUXT_API_SECRET environment variable
        public: {
          apiBase: '', // can be overridden by NUXT_PUBLIC_API_BASE environment variable
        }
      },
    })


    На деве просто .env файл и в нем перменные с такими префиксами.
    На проде свой .env файл, но из него надо загрузить переменные в окружение.
    В конфиге systemd это можно сделать через опцию EnvironmentFile.
    А просто в баше например можно загрузить из так:
    export (xargs < .env)

    Как сделать, чтобы на проде использовался файл .env я не разобрался. Если кто подскажет буду рад.
    Ответ написан
    2 комментария
  • Как правильно подключить платежи на сайте через Яндекс для физ. лица?

    digitalHitler
    @digitalHitler
    Meow.
    Ой, да почему же нельзя, всё можно.

    Вам нужна не Я.касса, не Я.платёжка, не Я.что-то-там-еще, а вот это: https://money.yandex.ru/quickpay/form

    Происходит все так: отправляется ГЕТ-запрос с суммой, кошельком получателя, способом оплаты (банк. карта, Я.Д), суммой, айди заказа и прочим. В итоге, юзер попадает на самую обычную страницу оплаты картой с минимумом полей: номер карты, CVC, имя, всё.
    Юзер вводит данные карты, подтверждает 3DS-ом, деньги тут же падают на кошелек продавца, а юзер редиректится на заданный заранее successURL.

    Никаких юрлиц, ИП или бумажных договоров. Никакой навязчивости со стороны яндекса, а ведь он мог бы, например, вместо оплаты картой заставлять юзера заводить кошелек в я.д, его пополнять и с него оплачивать. Нет, ничего такого нету, даже аккаунт яндекса не обязательно иметь покупателю.

    Вот мануал по параметрам запроса: https://money.yandex.ru/doc.xml?id=526991
    Ответ написан
    3 комментария
  • Очереди Laravel. Как выполнять задачи в фоне?

    xpert13
    @xpert13
    Full Stack Developer
    Читаем внимательно документацию: https://laravel.com/docs/queues

    Если коротко, то по умолчанию у вас в env используется QUEUE_DRIVER=sync, что по сути значит "никаких очередей, выполняй всё сразу". Если вы хотите, чтобы очереди выполнялись в фоне, вам нужно изменить драйвер на один из подходящих вариантов. К примеру, если изменить на database и создать в БД нужные таблицы, то все задания будут помещаться в эти таблицы. Для их выполнения нужно либо запускать php artisan queue:work (одноразовое выполнение всех заданий), либо php artisan queue:work --daemon (демон, который будет висеть и мониторить добавление заданий в очередь), либо, лучше всего, использовать supervisor, который будет сам следить за тем, чтобы демон висел в памяти.

    Всё это легко гуглится, ключевые слова в предыдущем абзаце. Supervisor есть смысл использовать только на продакшене, но если не хотите заморачиватся с его установкой и настройкой, достаточно будет добавить в автозапуск только запуск демона очереди. Правда если по какой-то причини процесс вылетит - вам нужно будет вручную его перезагрузить.
    Ответ написан
    Комментировать