Add autoindexing
This commit is contained in:
35
app/Jobs/PublishIndexPostJob.php
Normal file
35
app/Jobs/PublishIndexPostJob.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Jobs\Tasks\PublishIndexPostTask;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class PublishIndexPostJob implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
protected $ai_tool_id;
|
||||
|
||||
public $timeout = 10;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct(int $ai_tool_id)
|
||||
{
|
||||
$this->ai_tool_id = $ai_tool_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
PublishIndexPostTask::handle($this->ai_tool_id);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Jobs\Tasks;
|
||||
|
||||
use App\Helpers\FirstParty\OSSUploader\OSSUploader;
|
||||
use App\Jobs\PublishIndexPostJob;
|
||||
use App\Models\AiTool;
|
||||
use App\Models\UrlToCrawl;
|
||||
use Exception;
|
||||
@@ -72,7 +73,10 @@ public static function handle($url_to_crawl_id, $ai_tool_id)
|
||||
}
|
||||
|
||||
if ($ai_tool->isDirty()) {
|
||||
$ai_tool->save();
|
||||
if($ai_tool->save())
|
||||
{
|
||||
PublishIndexPostJob::dispatch($ai_tool->id)->onQueue('default')->onConnection('default');
|
||||
}
|
||||
}
|
||||
|
||||
return $ai_tool;
|
||||
|
||||
46
app/Jobs/Tasks/PublishIndexPostTask.php
Normal file
46
app/Jobs/Tasks/PublishIndexPostTask.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Tasks;
|
||||
|
||||
use App\Models\AiTool;
|
||||
use App\Notifications\PostWasPublished;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Notification;
|
||||
use LaravelFreelancerNL\LaravelIndexNow\Facades\IndexNow;
|
||||
use LaravelGoogleIndexing;
|
||||
|
||||
class PublishIndexPostTask
|
||||
{
|
||||
public static function handle(int $ai_tool_id)
|
||||
{
|
||||
$ai_tool = AiTool::find($ai_tool_id);
|
||||
|
||||
if (is_null($ai_tool)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$ai_tool->is_ai_tool)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((app()->environment() == 'production') && (config('platform.general.indexing'))) {
|
||||
$ai_tool_url = route('front.aitool.show', ['ai_tool_slug' => $ai_tool->slug]);
|
||||
|
||||
try {
|
||||
IndexNow::submit($post_url);
|
||||
} catch (Exception) {
|
||||
}
|
||||
|
||||
try {
|
||||
LaravelGoogleIndexing::create()->update($post_url);
|
||||
} catch (Exception) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'indexing' => env('ENABLE_INDEXING', false),
|
||||
|
||||
'app_version' => '1.0.0',
|
||||
|
||||
'dev_default_ip' => env('DEV_DEFAULT_IP', '127.0.0.1'),
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"type": "service_account",
|
||||
"project_id": "productalert",
|
||||
"private_key_id": "4ead93eae515ecf0c65792ce3571cd41aaeed1d1",
|
||||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChYmzeMFwyDiaB\nVifBsLDw/k5SZ+hEe8wMxKTHLYLEWYKa2OGPRK6ziXnKJzbo8ptEOklD+S8U/AOI\nqqMGAPHaHezleuD8NGMzNduoAdBvM4h3nniKWzAsmkFzvfLlHZa7rKKCfmMHPQ6S\nXi0Xrw5SvJpM0moZ57R0cPqH7IPrZLW0ESW+ImWTQGBxFTyRbX0muSCxR3d/xRFb\nVHhcJvjRRcsK3REZnPO9NHHVwgEgtl28khaKIb/yHrlVC2bGzMoNUpMIMzZq7EvL\nINBSkWdPLqWky2nb4QJNRbXAbjf8Mzx+DZWcH0pY1taJGcanCjC7G6MZq6aZeh2r\nAbXKJc17AgMBAAECggEABJRvpNHi2T7NOUVnJRgtD/cU5OzISs09P1gt7u3BNMOa\nMRJvkD/G5MHFgDGjCB2pFK4Xby45TP374bB/UN0iVT9yfhlXHNZ7Ft8ekoLUAJvf\nRw8Vuk4X12Qx8FAXKQkGbTaweUXklzYp3Yh+Uho911Dn4L87Peyf5+AJlBA9DCcz\nbk5IPhIsFITCWiX30HzBE9gZjUFVSBbyAafXkup8ZWDWVRHRTTwJP0ud8pzT7ENc\nEQ3TlvhS5eFTyG7uuM/ffBouDu4VbLVVuN0WbiW14hUHdj4nGC6jY/C0EnyyecGS\nsmjjV6Re41a1m4TG+BBEBnBMWIws3Dn+d1cVVv5jWQKBgQDbUp2IvNguo+OLIyi8\njBU+N4sEtGvZGrXxKUYCp54MaKO0dvVU0Q6k/cMR+0hvl0biRLUt3gZ1KgH/63ET\nlnRUTSx3dVntHCnyThqUOzB4btksnVdjkeNjB8hlSEs0n9usXabIRcl3U8a+0DeU\n0cKagw4bnWQxgY9VKQd6AZaReQKBgQC8X20pAxFv/HvvrS1cGenYHyAnCthJhfLH\nvly/yt8MIc4Dr+VMalMZXTRoyrMH+CgFbNHsWRJXHm58pse0PfWid1tgudoh2sdt\n2xAyVPqoSsUTRU9FuJSt8WW6qRQ4ouzY688OyLx7T1sSWHR4DgyvSdVmJnn2p80M\nRpN6eI4tkwKBgAvjDma61XyxpUOFRE/zx7L3j7FRlgbOS84mToUWUJqbkUPWrrVK\nH2ER3+C5ndNuf4kD8E3sGq1++VzFhftpzCRFioNu+NDBFgTr9sTR8G6Wk263mGTt\nI0XaxiG3KVxQzbcp3EA+iAzPnZX58wk91S5KrBkTDrsgKoSTFLSoIWEBAoGBAIJP\nIRx12uI1LycmDXLhGjs/jOZ1QhnaZ5B1x4OFu7aQzAsQ6vZptwKcz1yOnDqvGEBo\nfu+Yzm8lxhjE5vFwyzOQjc3jw1oYFk2QdSvcTWmOD7a9A5Gflnqdu1ndDPgA/Qcy\nWRJJGtnSk5WlSyyhy3SXBuCbTVOr0NTlHbBjJTexAoGAMsiGkM2iUlKAb/sUrsZ7\nnhK5ZqoUiiR6hEPsp7gCEZcHsYiwx+1KAn7WZWm1p8uTQ7CD5g5zmPSdqBPUzlLF\nvinjV6v64nTrwsr9ZlkrT8VQ5cC6EZnoKJBXxkhIQraWdecOEpvT+io/km0tcaPh\nB6ECRLVDa2wN9c810lJOnDA=\n-----END PRIVATE KEY-----\n",
|
||||
"client_email": "indexing@productalert.iam.gserviceaccount.com",
|
||||
"client_id": "115053843796317309652",
|
||||
"project_id": "aibuddytool",
|
||||
"private_key_id": "45790b2286ec3a05c925ad9cb4425ce5a47d131a",
|
||||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDCFZo4ch8ZWpOh\n3/zOoca/7YbHwRZKmzbEUoT6WEM6i6OriAXj4h9orQeXSmYeUo4NZs+TMGmdMguk\nTTxtOmw35gtt+fF/FYxdSskRgmXVUcwv9Qll0pMoFO3NBqrzUo1XON8MQcccz0vl\nPycP9wn5BlHi/7GELCTsujDjnfIy6T0RD8PS4TjOJbiJlIwwpKpzHQcJ+GGjbLcF\nLyhdohSTwo9XFoOQArvnra1BByBpnphbYJrm+SWRK3nvHd3EiA9IN/yMO4kPjaGb\nYJN5/ioUPR87cpTVIFzcK+fZ6p/915hnmd9cJIySBpxIA0CQFxM+YVAH6jRANCla\n29O3KI1fAgMBAAECggEAA3GnwZcPf0ethE5eAP7MTrsIBCtos7ic1k+IBIxs76Q4\nCFpiXBs/XqJGlt/hOzbqNVIjUZ1RgnSVa4Br5HqzDSvyQQqrcdhC+egF0nBidBS6\nb15aj83a6MSA+RbvERxo1SB1fVDbXC/H5pcZoHtuRvBvowSehckZJhtNCbixYa3c\nm5dAeHbLXFjwD5pnl+NT9NKtI6FVQxObRV8EhXYKrnhA1WC+lYQYfapj05afkdbM\nHTB+ycp8OrEoxNngOYxKv3POWwUzJDCQcGUntsiO7LODRyrOasWN8bUAbxKkyC4f\n7MBz9KiTDzgZgLiofSIzXpp8gnfDXeuGde5MoaDMIQKBgQDlvhRFO1n/VJECwZex\ng0y58gJ6xIUnoVS4NGQ/DSib8f5jGGtglGo4Mx8ik6ZfaT4vxCbMwIq/keUwO/bL\nKv2NkTOq8XKK9MO+fdc9GOLafKizkaAH6Y4SKmTj+lXPGnWy3sfuTZ6YLhAZR6p+\ne3MSRv6X5ZSClwv0r1z6/IHh2wKBgQDYRDhp7r7LmOu78XnF65IHt5Y2WhjsIz7P\nHD/XIPLV+R1gmaliS158ZAdu4vZHCLg1OrHMHt8wq9jAPxpzHZDXEL0RO1/o15Su\nmcBgQTrtdVkiz6MuaiO3KZXwQB1UlMk/eofwSKOaRPorHqGEZrOB/iOEJhcf4pOq\nDBG+CR1jzQKBgAfaN1cmcC0J9urhMw4eLsEsRGltzh9MpFinccW17W1nGArLCuCC\nMh85oBbOdSFNt5JqYekdq6BgnDTJ1+WZ0pDEJb/yALg/JXGdW337G8Xb/OgmUhHz\nKaf1Sv1/0O8DOIKkmrDKdmE9Mc+rY2hvT7+QLaODdVABWadDVyo89zOBAoGADjxf\nYkm+8XP9gH+ivm6FTFC/aJCBt3mSdturMCQRGBiv4F39EmVXsOR8wMXb5E0kowxc\nC820b2XAfNcqjI1TrXSCnZHE/HTEasHgMfXZRSxGU85LNZDzDOmF3yy5QYoRvUX5\nkM2XR15nAVOg2jBQfKwX9mjzeLvXcIge2t2Ku7kCgYA9rIxHUEtHB2SE05bL9O1I\n15JrqNr5S3Ic49EV5M8oZVjvUYehFH9U4G/I2JJkUqXBTqKHAE4+KnvTj/cj2k23\nQ6jYtNBPkB0gj5oqBVGJ5yzMnWoPQqKBEsQq+1E9Nq/h0AtNnFqKJdsHnjjp5tQX\neNyFh1dIT6fJ5MvwoaQiBA==\n-----END PRIVATE KEY-----\n",
|
||||
"client_email": "aibuddytool@aibuddytool.iam.gserviceaccount.com",
|
||||
"client_id": "104840231690980502168",
|
||||
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
||||
"token_uri": "https://oauth2.googleapis.com/token",
|
||||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
||||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/indexing%40productalert.iam.gserviceaccount.com",
|
||||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/aibuddytool%40aibuddytool.iam.gserviceaccount.com",
|
||||
"universe_domain": "googleapis.com"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user