Does elysia cron need to be executed through Drush cron? I am trying to understand how Elysia Cron works. If I execute the cron through a curl/wget requests, will the elysia cron still run normally without risking timeouts? Are there any advantages to running it through Drush rather than curl/wget?
The module page is fairly clear ...


  For the basic install you only need to enable the module and Elysia
  Cron will be up and running.
  
  You can stop here if you don't need a great precision over task
  execution and you don't have to execute a task more often than once an
  hour. For example, if you need only the "Once a day", "Once a week" or
  "Once a month" schedule rules the basic install is fine. (For D6 users
  that want to stop here: you should have installed Drupal crontab as
  described in Drupal INSTALL guide).
  
  However to get the full potential out of elysia cron and have the full
  control over you tasks a further step is needed: you need to configure
  the system crontab to execute drupal cron every minute. Follow the
  Drupal guide about this: http://drupal.org/cron The only difference is
  that you should use the "* * * * *" rule part instead of "0 * * * *"
  or "45 * * * *" as described in the guide.


Cron is a server thing, not a Drupal thing. Hook_cron is a nice PHP interface to stuffing custom tasks into the file http://www.mysite.com/cron.php which Drupal's Poor Man's cron or ElysiaCron can use to run your tasks.

As the above notes -- if you just need daily runs, weekly runs, monthly runs -- simply enable the barebones Elysia or Drupal cron. For more fine grained control over cron tasks they recommend a system crontab entry that polls Drupal cron every minute. Elysia's task management logic checks what tasks it has to do in X timeperiod every minute (whats Done, what is to begin, whats running, etc). This is the power of Elysia cron and also UltimateCron.

Whenever a browser hits cron.php you are subject to timeouts -- even if programming attempts to avoid it (such as the Batch API, which can sometimes timeout and fail -- eg what happens when your webserver (Apache) is under load and the next cron.php call is never successfully handled?).

By running via Drush you are 100% free of worrying about webserver timeouts -- because its now a server side PHP script which may run indefinately.


1 advantage of running through Drush is you can pipe output from your
cron tasks (there shouldnt really be any) to a custom file.


You can invoke a Cron run directly using Drush via:
drush cron for all options to Drush cron see drush help cron