A module which allows user to create/manage a webcron job (saved at easycron.com) to run the Drupal cron operation (call the site's cron.php) . All webcron job settings can be made at Drupal backend. The calling action is triggered at easycron.com according to the settings. So it doesn't rely on visitor/traffic to access the Drupal site to fire the cron operations.

Project page link: http://drupal.org/sandbox/zk_deng/1183806

CommentFileSizeAuthor
#11 easycron-1186036-11.patch22.14 KBtim.plunkett

Comments

jordojuice’s picture

Status: Needs review » Postponed (maintainer needs more info)

Hi, thank you for your contribution!

Initial screening needs work:
-Module duplication
Module duplication is a serious issue on drupal.org, and part of this process is screening for such issues. How is your module fundamentally different than our own git administrator's very popular module Poormanscron? Do you think it may appeal to a different audience? Why?
-Contains LICENSE.txt file. This must be removed. Licensing information will be added by git.
-Contains README.txt file
-Contains link to sandbox

Also, please ensure that your module has been run through Coder module on minor (most).

zk_deng’s picture

Hi sir,

Thanks for your reviewing.

Easy cron module aims at providing a "third-party triggered cron calling" functionality. It's a bridge for easycron.com and user's Drupal site. Once the settings of Easy cron module are correctly made, the user's Drupal site doesn't require visitor to access the site/pages to trigger the Drupal's cron operation, and a webcron on easycron.com will do this.

For websites which don't have enough visitors/traffic to trigger a expected frequency of cron execution, Easy cron module is an option.

I have removed the LICENSE.txt file.

The code passed through Coder module's test.

Thanks again.

Deng

zk_deng’s picture

Status: Postponed (maintainer needs more info) » Needs review

Hi sir,

I think I was replying in a wrong way to your comment above. I repost my comment here with necessary status:

Easy cron module aims at providing a "third-party triggered cron calling" functionality. It's a bridge for easycron.com and user's Drupal site. Once the settings of Easy cron module are correctly made, the user's Drupal site doesn't require visitor to access the site/pages to trigger the Drupal's cron operation, and a webcron on easycron.com will do this.

For websites which don't have enough visitors/traffic to trigger a expected frequency of cron execution, Easy cron module is an option.

I have removed the LICENSE.txt file.

The code passed through Coder module's test.

Thanks again.

Deng

jordojuice’s picture

Thanks!

zk_deng’s picture

Priority: Normal » Critical
shadcn’s picture

Status: Needs review » Needs work

Module review :

  1. Coder review: No issues found.
  2. Code:
    • Remove // $Id: ec_authorize_net.module,v 1.13 2011/01/15 14:17:37 davea Exp $ from easycron.module. Git does not require the $Id$ at all
    • Use
      /**
        * Implements hook_menu()
        */
      

      instead of

      /**
       * Implementation of hook_menu().
       */
      
    • Add comments for functions like easycron_connect($action, $easycron_settings)...
  3. Module duplication: What I found so far is that this module implements the service offered by easycron.com into Drupal much like recaptcha.module implements recaptcha.net service, instead of providing an actual cron system for Drupal like poormanscron. Am I right?

    Also can you please provide a use case for "the user's Drupal site doesn't require visitor to access the site/pages to trigger the Drupal's cron operation"?

Thanks

zk_deng’s picture

Status: Needs work » Needs review

Hi Arshad,

Thanks for your effort on reviewing the module.

I have

  1. removed // $Id: ec_authorize_net.module,v 1.13 2011/01/15 14:17:37 davea Exp $ from easycron.module.
  2. used
    /**
     * Implements hook_menu()
     */

    instead of

    /**
     * Implementation of hook_menu().
     */
  3. added comments to functions easycron_connect($action, $easycron_settings), easycron_admin_validate($form, &$form_state), easycron_admin_validate($form, &$form_state), easycron_admin()

For the module duplication check:
Yes, this module implements service offered by easycron.com. It provides a way on the Drupal's backend to manage a outside webcron as a trigger for firing the drupal's cron.php. By doing so, it frees Drupal's scheduled tasks system from visitor's access.
Some usage cases are:

  1. Websites need to send out newsletters regularly every day on mid-night, but there is no visitor visit the sites at that time.
  2. Websites need to aggregate some information from outside sources every specific period of time (e.g. every five minutes), and these information are instant and will be replaced with even later information on the sources each five minutes, so that the Drupal sites need to aggregate these information in time. These kind of regular tasks cannot be guaranteed to execute by poormanscron or other visitor-trigger cron mechanisms.

I believe there are some other usage cases.

Thanks for your time.

Regards,
Deng

sreynen’s picture

Priority: Critical » Normal
Status: Needs review » Needs work

Hi zk_deng,

I opened two issues in the project issue queue. Please change this back to "needs review" after those are fixed.

zk_deng’s picture

Status: Needs work » Needs review

Hi sreynen,

Thank you for pointing out the issues.

I have fixed them.

Best,
Deng

sreynen’s picture

Status: Needs review » Reviewed & tested by the community

I don't see any other issues.

tim.plunkett’s picture

Status: Reviewed & tested by the community » Fixed
StatusFileSize
new22.14 KB

I agree that this module is ready for a release, even though it has some coding standards issues.

Attached is a patch that will handle most of the problems for you.
I've also gone and moved your admin callbacks into a separate file, this prevents extra code from being loaded on every request.

I've granted you full project creation rights. Use this ability carefully!

Thank you for your patience.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.