Любая помощь по этому вопросу была бы очень признательна.
У меня есть 15 временных задач, выполняемых в определенное время.Важно, чтобы они запускались в это время, поскольку они строят свои данные на основе первой задачи cron, которая запускается.Вот пример:
$schedule->command( 'task:build one' )->cron( '2/5 * * * *' );
$schedule->command( 'task:build two' )->cron( '3/15 * * * *' );
$schedule->command( 'task:build three' )->cron( '3 * * * *' );
$schedule->command( 'task:build four' )->cron( '4 */12 * * *' );
...
Используя задачу: два в качестве примера, проблема заключается в следующем:
задача: два использует результаты в базе данных, сгенерированной задачей: один и сохраняет вдругой стол.Таблица, используемая задачей: одна только когда-либо читается другими задачами и никогда не записывается.Итак:
задача: один запускается и занимает меньше минуты.задача: два запускаются через минуту.
В редких случаях (может быть, до 8 раз в неделю, кажется случайным) задача: два задерживается настолько долго, что задача: одному удается запустить снова (спустя 5 минут) идобавьте дополнительную строку в свою таблицу, так что по времени задача: два получает к данным, которых у них больше, чем нужно.
Из моих собственных исследований:
Нет проблем с блокировкой sql, поскольку каждая задача записывает только в таблицу, относящуюся к ней, и я не вижу никаких журналов ошибок mysql.
База данных составляет ок.5GIG, работающий на дешевом сервере Digital Ocean за 20 долларов.
Из 15 задач кажется, что некоторые задачи выполняются больше, чем другие, а некоторые никогда не кажутся выполненными.
Я не разработчик, и я пытаюсь установить, является ли это проблемой Laravel, возможно, из-за моей плохой реализации или проблемы с сервером.
Надеюсь, это хорошо описывает проблемудостаточно для помощи, но если нет, пожалуйста, дайте мне знать, какая дополнительная информация вам требуется.