Automattic / sensei

Sensei LMS - Online Courses, Quizzes, & Learning
https://senseilms.com
GNU General Public License v2.0
545 stars 198 forks source link

Bulk Learner Management Timeout [L] #2056

Open jennafarr opened 6 years ago

jennafarr commented 6 years ago

Perhaps our site is out of the norm but we have over 20,000 leaners and the new "Bulk Learner Management" link is never loading. The guess is that it's trying to retrieve these records and timing out.

Sensei version: 1.9.19

bonzy11 commented 6 years ago

We get this most of the time with Sensei Analysis

donnapep commented 6 years ago

Unfortunately, I haven't had any luck reproducing this, even with 60,000 learners. The query on the Bulk Learner Actions page is configured to only return 20 rows at a time.

Are there any errors being logged? Or any other information you could provide?

donnapep commented 6 years ago

@jennafarr What version of PHP are you running?

jennafarr commented 6 years ago

PHP version 5.6.35

jennafarr commented 6 years ago

The error is just 500 timeout and then read data timeouts

wineschool commented 6 years ago

I'd like to confirm this issue. Bulk Learner Management throws a Request Timeout error every time. We are running PHP 7.0

bonzy11 commented 6 years ago

We are getting this as well on PHP7. 502 error after timing out. Tried updating Sensei to the latest, disable all other plugins and switch to default theme. Clicking on the courses within Learner Management and searching for/adding learners to courses is lightning fast, though..

ERRORS BELOW:

WordPress database error MySQL server has gone away for query SELECT u.ID AS 'user_id',\n u.user_nicename,\n u.user_login,\n u.user_email,\n GROUP_CONCAT(c.comment_post_ID, '|', IF(c.comment_approved = 'complete', 'c', 'p' )) AS 'course_statuses',\n COUNT(c.comment_approved) AS 'course_count'\n FROM wp_users AS u\n LEFT JOIN (\n SELECT FROM wp_comments AS sc\n WHERE sc.comment_type = 'sensei_course_status'\n ) AS c ON u.ID = c.user_id GROUP BY u.ID / From [/wp-admin/admin.php?page=sensei_learners&view=sensei_learner_admin] in [/wp-content/plugins/woothemes-sensei/includes/class-sensei-db-query-learners.php:83] */ made by do_action('sensei_page_sensei_learners'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, Sensei_Learner_Management->learners_page, Sensei_Learners_Admin_Bulk_Actions_Controller->learner_admin_page, Sensei_Learners_Admin_Bulk_Actions_View->prepare_items, Sensei_Learners_Admin_Bulk_Actions_View->get_learners, Sensei_Db_Query_Learners->get_all

PHP Warning: mysqli_query(): Error reading result set's header in /wp-includes/wp-db.php on line 1924, referer: /wp-admin/admin.php?page=sensei_learners

bonzy11 commented 5 years ago

Following up on this. We still encounter this issue. If we lift our 60 second script timeout on our server, we can get the Bulk Learner Management page to load. However, it says "No Learners Found". We can filter by course to see users by course..

We are on PHP 7.2 now

thelanj commented 5 years ago

We also get this same error. WPENGINE, latest WP, sensei 1.12.2 , php 7.2

jennafarr commented 5 years ago

We are running php 5.6