Laravel справляется с этим довольно хорошо. Вы были правы, используйте планировщик заданий
. Я бы порекомендовал установить две разные работы, поскольку у вас есть два разных критерия (2 часа, 5 дней) для времени между задачи.
Для записей вы можете установить проверку в своей работе, чтобы увидеть, когда была создана запись, и удалить те, которые старше 2 часов. Примерно так:
$schedule->call(function () {
DB::table('your_table')->whereRaw('created_at >= now() - interval 2 hour')
})->daily();
Если вы используете Carbon, вы можете изменить запрос, используя что-то вроде:
->where('created_at', '>=', Carbon::now()->subMinutes(120)->toDateTimeString());
То же самое с удалением файла - создайте задание, которое удаляет эти файлы старше 5 дней. Это не сильно замедлит работу вашей системы, если вы настроите ее на выполнение, возможно, один раз в день в наименее популярные времена. Итак, при выполнении своей работы:
$schedule->job(new YourJob)->dailyAt('3:00');
Есть много способов сделать это. Но вам нужно узнать, как работает планировщик (легко), и тогда вы сможете использовать возможные решения здесь.
Это - вполне то же как с любым другим процессом Java, который Вы хотите отладить удаленно: необходимо настроить некоторые аргументы в пользу VM (-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=12345
) и затем соединитесь с данным портом. В Java webstart 6.0 это может быть сделано с-J опцией в более ранней версии через переменную среды JAVAWS_VM_ARGS. Посмотрите детали здесь.
Запустите JWS VM вручную. Таким образом, можно обеспечить параметры запуска для открытия порта отладки. Вот описание, оно идет как это:
set JAVAWS_TRACE_NATIVE=1
set JAVAWS_VM_ARGS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=n"
javaws http://server:port/descriptor.jnlp
Вы попытались печатать журнал отладки? Это - полезная вещь иметь во всяком случае и могло бы помочь в этом случае.
Если Вы хотите реальную отладку, посмотрите, например, здесь: Как я могу отладить под WebStart?
Можно выполнить JNLP с включенной отладкой:
javaws -Xnosplash -J-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5009 <application>.jnlp
Вывод: Прислушивание к транспорту dt_socket в адресе: 5009
Присоединение к этому с Вашим любимым IDE, я использую ИДЕЮ IntelliJ Выполнение> Присоединение для обработки