Browse Source

Fix Laravel pbs (#5450)

* sort id + generate new randomNumber

* force save until... ok for Laravel-swoole

* light optimization
jcheron 5 years ago
parent
commit
1d3692ad46

+ 9 - 3
frameworks/PHP/laravel/app/Http/Controllers/Controller.php

@@ -48,9 +48,14 @@ class Controller extends BaseController {
 		$numbers = $this->getUniqueRandomNumbers($this->clamp($queries));
 		$numbers = $this->getUniqueRandomNumbers($this->clamp($queries));
 		foreach ($numbers as $id) {
 		foreach ($numbers as $id) {
 			$row = World::find($id);
 			$row = World::find($id);
-			$row->randomNumber = \mt_rand(1, 10000);
-			$row->save();
-
+			$oldId = $row->randomNumber;
+			do {
+				$newId = mt_rand(1, 10000);
+			} while ($oldId === $newId);
+			$row->randomNumber = $newId;
+			do {
+				$saved = $row->save();
+			} while (! $saved);
 			$rows[] = $row;
 			$rows[] = $row;
 		}
 		}
 
 
@@ -76,6 +81,7 @@ class Controller extends BaseController {
 		do {
 		do {
 			$res[\mt_rand(1, 10000)] = 1;
 			$res[\mt_rand(1, 10000)] = 1;
 		} while (\count($res) < $count);
 		} while (\count($res) < $count);
+		\ksort($res);
 		return \array_keys($res);
 		return \array_keys($res);
 	}
 	}
 }
 }

+ 76 - 80
frameworks/PHP/laravel/config/app.php

@@ -1,19 +1,18 @@
 <?php
 <?php
-
 return [
 return [
 
 
-    /*
-    |--------------------------------------------------------------------------
-    | Application Name
-    |--------------------------------------------------------------------------
-    |
-    | This value is the name of your application. This value is used when the
-    | framework needs to place the application's name in a notification or
-    | any other location as required by the application or its packages.
-    |
-    */
+	/*
+	 * |--------------------------------------------------------------------------
+	 * | Application Name
+	 * |--------------------------------------------------------------------------
+	 * |
+	 * | This value is the name of your application. This value is used when the
+	 * | framework needs to place the application's name in a notification or
+	 * | any other location as required by the application or its packages.
+	 * |
+	 */
 
 
-    'name' => env('APP_NAME', 'Laravel'),
+	'name' => env('APP_NAME', 'Laravel'),
 
 
     /*
     /*
     |--------------------------------------------------------------------------
     |--------------------------------------------------------------------------
@@ -106,7 +105,7 @@ return [
 
 
     'key' => env('APP_KEY'),
     'key' => env('APP_KEY'),
 
 
-    'cipher' => 'AES-256-CBC',
+	'cipher' => 'AES-256-CBC',
 
 
     /*
     /*
     |--------------------------------------------------------------------------
     |--------------------------------------------------------------------------
@@ -121,31 +120,31 @@ return [
 
 
     'providers' => [
     'providers' => [
 
 
-        /*
-         * Laravel Framework Service Providers...
-         */
-        Illuminate\Auth\AuthServiceProvider::class,
-        Illuminate\Broadcasting\BroadcastServiceProvider::class,
-        Illuminate\Bus\BusServiceProvider::class,
-        Illuminate\Cache\CacheServiceProvider::class,
-        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
-        Illuminate\Cookie\CookieServiceProvider::class,
-        Illuminate\Database\DatabaseServiceProvider::class,
-        Illuminate\Encryption\EncryptionServiceProvider::class,
-        Illuminate\Filesystem\FilesystemServiceProvider::class,
-        Illuminate\Foundation\Providers\FoundationServiceProvider::class,
-        Illuminate\Hashing\HashServiceProvider::class,
-        Illuminate\Mail\MailServiceProvider::class,
-        Illuminate\Notifications\NotificationServiceProvider::class,
-        Illuminate\Pagination\PaginationServiceProvider::class,
-        Illuminate\Pipeline\PipelineServiceProvider::class,
-        Illuminate\Queue\QueueServiceProvider::class,
-        Illuminate\Redis\RedisServiceProvider::class,
-        Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
-        Illuminate\Session\SessionServiceProvider::class,
-        Illuminate\Translation\TranslationServiceProvider::class,
-        Illuminate\Validation\ValidationServiceProvider::class,
-        Illuminate\View\ViewServiceProvider::class,
+		/*
+		 * Laravel Framework Service Providers...
+		 */
+		// Illuminate\Auth\AuthServiceProvider::class,
+		// Illuminate\Broadcasting\BroadcastServiceProvider::class,
+		// Illuminate\Bus\BusServiceProvider::class,
+		Illuminate\Cache\CacheServiceProvider::class,
+		Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
+		// Illuminate\Cookie\CookieServiceProvider::class,
+		Illuminate\Database\DatabaseServiceProvider::class,
+		// Illuminate\Encryption\EncryptionServiceProvider::class,
+		Illuminate\Filesystem\FilesystemServiceProvider::class,
+		// Illuminate\Foundation\Providers\FoundationServiceProvider::class,
+		// Illuminate\Hashing\HashServiceProvider::class,
+		// Illuminate\Mail\MailServiceProvider::class,
+		// Illuminate\Notifications\NotificationServiceProvider::class,
+		// Illuminate\Pagination\PaginationServiceProvider::class,
+		// Illuminate\Pipeline\PipelineServiceProvider::class,
+		Illuminate\Queue\QueueServiceProvider::class,
+		// Illuminate\Redis\RedisServiceProvider::class,
+		// Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
+		// Illuminate\Session\SessionServiceProvider::class,
+		// Illuminate\Translation\TranslationServiceProvider::class,
+		// Illuminate\Validation\ValidationServiceProvider::class,
+		Illuminate\View\ViewServiceProvider::class,
 
 
         /*
         /*
          * Package Service Providers...
          * Package Service Providers...
@@ -155,12 +154,11 @@ return [
          * Application Service Providers...
          * Application Service Providers...
          */
          */
         App\Providers\AppServiceProvider::class,
         App\Providers\AppServiceProvider::class,
-        App\Providers\AuthServiceProvider::class,
-        // App\Providers\BroadcastServiceProvider::class,
-        App\Providers\EventServiceProvider::class,
-        App\Providers\RouteServiceProvider::class,
-
-    ],
+		// App\Providers\AuthServiceProvider::class,
+		// App\Providers\BroadcastServiceProvider::class,
+		// App\Providers\EventServiceProvider::class,
+		App\Providers\RouteServiceProvider::class
+	],
 
 
     /*
     /*
     |--------------------------------------------------------------------------
     |--------------------------------------------------------------------------
@@ -175,40 +173,38 @@ return [
 
 
     'aliases' => [
     'aliases' => [
 
 
-        'App' => Illuminate\Support\Facades\App::class,
-        'Artisan' => Illuminate\Support\Facades\Artisan::class,
-        'Auth' => Illuminate\Support\Facades\Auth::class,
-        'Blade' => Illuminate\Support\Facades\Blade::class,
-        'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
-        'Bus' => Illuminate\Support\Facades\Bus::class,
-        'Cache' => Illuminate\Support\Facades\Cache::class,
-        'Config' => Illuminate\Support\Facades\Config::class,
-        'Cookie' => Illuminate\Support\Facades\Cookie::class,
-        'Crypt' => Illuminate\Support\Facades\Crypt::class,
-        'DB' => Illuminate\Support\Facades\DB::class,
-        'Eloquent' => Illuminate\Database\Eloquent\Model::class,
-        'Event' => Illuminate\Support\Facades\Event::class,
-        'File' => Illuminate\Support\Facades\File::class,
-        'Gate' => Illuminate\Support\Facades\Gate::class,
-        'Hash' => Illuminate\Support\Facades\Hash::class,
-        'Lang' => Illuminate\Support\Facades\Lang::class,
-        'Log' => Illuminate\Support\Facades\Log::class,
-        'Mail' => Illuminate\Support\Facades\Mail::class,
-        'Notification' => Illuminate\Support\Facades\Notification::class,
-        'Password' => Illuminate\Support\Facades\Password::class,
-        'Queue' => Illuminate\Support\Facades\Queue::class,
-        'Redirect' => Illuminate\Support\Facades\Redirect::class,
-        'Redis' => Illuminate\Support\Facades\Redis::class,
-        'Request' => Illuminate\Support\Facades\Request::class,
-        'Response' => Illuminate\Support\Facades\Response::class,
-        'Route' => Illuminate\Support\Facades\Route::class,
-        'Schema' => Illuminate\Support\Facades\Schema::class,
-        'Session' => Illuminate\Support\Facades\Session::class,
-        'Storage' => Illuminate\Support\Facades\Storage::class,
-        'URL' => Illuminate\Support\Facades\URL::class,
-        'Validator' => Illuminate\Support\Facades\Validator::class,
-        'View' => Illuminate\Support\Facades\View::class,
-
-    ],
-
+		'App' => Illuminate\Support\Facades\App::class,
+		'Artisan' => Illuminate\Support\Facades\Artisan::class,
+		'Auth' => Illuminate\Support\Facades\Auth::class,
+		'Blade' => Illuminate\Support\Facades\Blade::class,
+		'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
+		'Bus' => Illuminate\Support\Facades\Bus::class,
+		'Cache' => Illuminate\Support\Facades\Cache::class,
+		'Config' => Illuminate\Support\Facades\Config::class,
+		'Cookie' => Illuminate\Support\Facades\Cookie::class,
+		'Crypt' => Illuminate\Support\Facades\Crypt::class,
+		'DB' => Illuminate\Support\Facades\DB::class,
+		'Eloquent' => Illuminate\Database\Eloquent\Model::class,
+		'Event' => Illuminate\Support\Facades\Event::class,
+		'File' => Illuminate\Support\Facades\File::class,
+		'Gate' => Illuminate\Support\Facades\Gate::class,
+		'Hash' => Illuminate\Support\Facades\Hash::class,
+		'Lang' => Illuminate\Support\Facades\Lang::class,
+		'Log' => Illuminate\Support\Facades\Log::class,
+		'Mail' => Illuminate\Support\Facades\Mail::class,
+		'Notification' => Illuminate\Support\Facades\Notification::class,
+		'Password' => Illuminate\Support\Facades\Password::class,
+		'Queue' => Illuminate\Support\Facades\Queue::class,
+		'Redirect' => Illuminate\Support\Facades\Redirect::class,
+		'Redis' => Illuminate\Support\Facades\Redis::class,
+		'Request' => Illuminate\Support\Facades\Request::class,
+		'Response' => Illuminate\Support\Facades\Response::class,
+		'Route' => Illuminate\Support\Facades\Route::class,
+		'Schema' => Illuminate\Support\Facades\Schema::class,
+		'Session' => Illuminate\Support\Facades\Session::class,
+		'Storage' => Illuminate\Support\Facades\Storage::class,
+		'URL' => Illuminate\Support\Facades\URL::class,
+		'Validator' => Illuminate\Support\Facades\Validator::class,
+		'View' => Illuminate\Support\Facades\View::class
+	]
 ];
 ];

+ 1 - 2
frameworks/PHP/laravel/laravel-swoole.dockerfile

@@ -29,8 +29,7 @@ RUN apt-get update -yqq > /dev/null && \
 COPY deploy/swoole/composer* ./
 COPY deploy/swoole/composer* ./
 RUN php composer.phar install -a --no-dev --quiet
 RUN php composer.phar install -a --no-dev --quiet
 
 
-RUN php artisan config:cache
-RUN php artisan route:cache
+RUN php artisan optimize
 
 
 RUN chmod -R 777 /laravel
 RUN chmod -R 777 /laravel
 
 

+ 1 - 2
frameworks/PHP/laravel/laravel.dockerfile

@@ -26,8 +26,7 @@ RUN chmod -R 777 /laravel
 
 
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 
 
-RUN php artisan config:cache
-RUN php artisan route:cache
+RUN php artisan optimize
 
 
 RUN chmod -R 777 /laravel
 RUN chmod -R 777 /laravel