Support

Home Forums Event Espresso Premium csv report download problem

csv report download problem

Posted: September 18, 2014 at 4:45 pm


Sue Adams

September 18, 2014 at 4:45 pm

I am running wordpress 3.9.2 and Event Espresso ver 4.2.4 (personal license) I am having an issue downloading our attendee registrations csv report which consists of approximately 430 or so people. I hangs and then I get the following message in my browser: “Fatal error: Maximum execution time of 30 seconds exceeded in /home4/seala/public_html/wordpress/wp-content/plugins/event-espresso/core/db_models/fields/EE_Model_Field_Base.php on line 67”. I have no issues whatsoever downloading the vendor csv report which is 12 KB in size. I’ve tried with Internet Explorer and Firefox. I’ve deleted the cache then tried looking around at a few things and logged out and then tried again. After about 5 tries I was finally able to get it to download (188 KB). So I waited about 5 minutes and tried again after deleting the cache and I’m back to getting the same error. The server where we host the site only allows 30 seconds for downloads – HELP!! Our conference is only 2 weeks away and we are people are still registering daily. We need this report at this point on a regular basis to keep up with the number of people. I haven’t updated wordpress, nor my plug-in as I don’t want to have anything messed up this close to the conference. Can you help? Please advise.


Tony

  • Support Staff

September 18, 2014 at 5:03 pm

Hi Sue,

Can you tell me how many questions are assigned to the question groups in use within your event please?


Sue Adams

September 19, 2014 at 7:22 am

Agency Name, Billing First Name, Billing Last Name, Billing Address 1, Billing Address 2, Billing City, Billing State, Billing Zip, Attendee First Name, Attendee Last Name, Attendee email address, Agency Name for Attendee, County/Circuit, Attendee Title, Attendee Address 1, Attendee Address 2, Attendee City, Attendee State, Attendee Zip, Attendee Daytime Phone, Attendee Cell phone, Attendee Discipline Selection (choice of 5 from dropdown), Attendee CE Credits Desired (7 choices, checkboxes), special needs requested (textarea), allow release of information to other attendees (yes or no answer) – The form allows for multiple attendees to register at once (up to 15).

Agency Name, Billing First Name, Billing Last Name, Billing Address 1, Billing Address 2, Billing City, Billing State, Billing Zip are only answered once no matter how many attendees there are.

All of the remaining questions [Attendee First Name, Attendee Last Name, Attendee email address, Agency Name for Attendee, County/Circuit, Attendee Title, Attendee Address 1, Attendee Address 2, Attendee City, Attendee State, Attendee Zip, Attendee Daytime Phone, Attendee Cell phone, Attendee Discipline Selection (choice of 5 from dropdown), Attendee CE Credits Desired (7 choices, checkboxes), special needs requested (textarea), allow release of information to other attendees (yes or no answer] are answered for each attendee. We’ve not had any issues with downloading the report until this past week.


Josh

  • Support Staff

September 19, 2014 at 7:38 am

Hi Sue,

This is a lot of data to pull in from across the database all at once. While the queries that handle this are written to be efficient, some servers will have troubles with pulling in this much data all at once.

One thing you could try is increase the maximum execution time. Can you try adding this to your wp-config.php file:

ini_set('max_execution_time', 300);

If that does not work, here are a few other possible solutions you can try that are outlined in this thread:

https://wordpress.org/support/topic/fatal-error-in-wp-includeshttpphp-and-wp-dbphp


Sue Adams

September 19, 2014 at 11:08 am

Adding the ini_set(‘max_execution_time’, 300); line to my wp-config.php made no difference whatsoever and when I followed the link you provided and followed their ideas I got a server error. Do you have any other suggestions as to how we can obtain the list of registrants on a daily basis in some other way? Or recommendations as to how we could possibly make the file size smaller? One thing I thought of that we could do (VERY LAST RESORT!!) would be to delete all transactions that have already been paid up to this point (we would have to keep those records separated somehow on our end)… which brings me to another question, and that would be, “If you have this conference every year, how do you clear out the database prior to opening registrations each year so that you start each conference with a fresh database?” I would prefer not to do this, as it would not only be time consuming but would separate our data for this year’s conference. I really need some help here! Thanks!


Josh

  • Support Staff

September 19, 2014 at 11:12 am

Hi Sue,

The filesize is not the issue, it’s that your server can’t handle the number of queries to the database that happens when the file is generated.

Can you check with your host to see if they can increase the max_execution_time setting for your server?


Sue Adams

September 19, 2014 at 12:21 pm

They have told me they will not increase the execution time because it’s on a shared server. Would my previous comment be a possible solution? “One thing I thought of that we could do (VERY LAST RESORT!!) would be to delete all transactions that have already been paid up to this point (we would have to keep those records separated somehow on our end)… which brings me to another question, and that would be, “If you have this conference every year, how do you clear out the database prior to opening registrations each year so that you start each conference with a fresh database?” I would prefer not to do this, as it would not only be time consuming but would separate our data for this year’s conference. “


Josh

  • Support Staff

September 19, 2014 at 2:47 pm

Hi Sue,

I do not think deleting the other registrations will help, because those other registrations are not being queried when you download the CSV. The solution for you may be to move to a VPS server or a shared server that has more allowances for resources.


Sue Adams

September 20, 2014 at 9:13 am

Is there any way that you could provide me with the sql code that runs in order to create the report. I may be able to run it against the database itself via my cpanel at my host site.


Sue Adams

September 20, 2014 at 9:16 am

And all transactions are shown when I ran the report in the past, so I would think it might make a difference.


Sue Adams

September 20, 2014 at 10:02 am

Another idea. Is there a way to run the attendee registrations report with only registration information for attendees from a certain month? In other words just downloading attendee registrations for the month of September 2014?


Lorenzo Orlando Caum

  • Support Staff

September 22, 2014 at 12:20 pm

Hi Sue,

The registrations CSV export is currently available on a per event basis. There isn’t an option to retrieve a certain range from a specific event.

Have you checked with your host on a different hosting plan that would allow you to increase the PHP timeout?


Lorenzo


Sue Adams

September 22, 2014 at 2:20 pm

I have contacted them via a support ticket and I’m still waiting to hear from them. However, I have 3 questions for you:
1) Is there any way that you could provide me with the sql code that runs in order to create the report. I may be able to run it against the database itself via my cpanel at my host site or via the database on my desktop?
2) Is there any way to permanently delete specific records from the database to reduce the size of the database?
3) Is there a way to empty the database totally to start fresh from this point until the conference? If so, can it be done without uninstalling Event Espresso and reconfiguring everything from scratch – ie., questions, etc.,


Michael Nelson

  • Support Staff

September 22, 2014 at 4:06 pm

1) It’s quite an lot of SQL queries. I would instead recommend changing the following bit of code to force a limit of registration per report, then you can combine the different reports together manually. Open up wp-content/plugins/event-espresso-core/core/db_classes/EE_Export.class.php and find line 337. It should read
$registrations = $reg_model->get_all(array(array('EVT_ID'=>$event_id),'order_by'=>array('Transaction.TXN_ID'=>'asc','REG_count'=>'asc')));
and change it to
$registrations = $reg_model->get_all(array(array('EVT_ID'=>$event_id),'order_by'=>array('Transaction.TXN_ID'=>'asc','REG_count'=>'asc'), 'limit' => array(0,100)));
to produce a registrations report with only the first 100 registrants. This change instructs the query to select 100 entries, starting at the first matched one.
To get a registrations report with records 101-200, change it to
$registrations = $reg_model->get_all(array(array('EVT_ID'=>$event_id),'order_by'=>array('Transaction.TXN_ID'=>'asc','REG_count'=>'asc'), 'limit' => array(100,100)));
This instructed it to again get 100 records again, but start after the 100th it would normally have selected.
To get records 201-300, similarly change it to
$registrations = $reg_model->get_all(array(array('EVT_ID'=>$event_id),'order_by'=>array('Transaction.TXN_ID'=>'asc','REG_count'=>'asc'), 'limit' => array(200,100)));
ie, keep changing the first of the two numbers after 'limit' => array(, but leave the 2nd one at 100.

I think this should suite your needs. In version 4.6 we’ve made the queries more efficient so hopefully this won’t be as much of an issue.

2. I’d really recommend manually deleting data, unless the above solution is somehow invalid. If you try the above and it doesn’t work, then I’ll happily answer this (it’s just dangerous and so I wouldn’t recommend it)

3. You would need to directly empty out the following tables: wp_esp_transaction, wp_esp_registration, wp_esp_answer, wp_esp_checkin, wp_esp_datetime, wp_esp_datetime_ticket, wp_esp_line_item, and wp_esp_payment. I’d HIGHLY recommend backing up your database though before attempting this


Sue Adams

September 22, 2014 at 4:50 pm

Michael,
Your suggestion to “Open up wp-content/plugins/event-espresso/core/db_classes/EE_Export.class.php and find line 337 and change the code there worked. Thank God!!!!

Can’t thank you enough for the solution. We were desperate! Thank you, Thank you!!!


Lorenzo Orlando Caum

  • Support Staff

September 22, 2014 at 4:57 pm

Thanks for confirming that it worked. We’ll mark this as resolved.

If you need help with anything else, just open a new support post:

https://eventespresso.com/support/forums/


Lorenzo


Lorenzo Orlando Caum

  • Support Staff

May 5, 2015 at 7:34 pm

Hi there Sue,

We’ve made some improvements in the registration CSV report system today and we would like your help in testing it out. Our developer’s benchmark shows that its more efficient and about five times faster.

Do you have a testing or staging site available and are you running a recent version of Event Espresso 4.6.x?

{redacted, please see the next topic update below — JF}

Thanks!


Lorenzo

  • This reply was modified 8 years, 11 months ago by  Josh. Reason: plugin update


Josh

  • Support Staff

May 14, 2015 at 2:56 pm

Update: Event Espresso 4.6.27.p includes the improvements in the registration CSV report system.


Sue Adams

May 26, 2015 at 4:51 pm

Due to the issues from last year (prior to the csv report system being revamped). We made the decision to move to a dedicated server. Hopefully with that and your csv report system improvements we shouldn’t have issues again this year.

The support post ‘csv report download problem’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso