def METHOD_NAME(self, resource_dict):
    context = {
        u'model': model,
        u'ignore_auth': True,
        u'defer_commit': True
    }
    resource_format = resource_dict.get('format')
    submit = (
        resource_format
        and resource_format.lower() in self.datapusher_formats
        and resource_dict.get('url_type') != u'datapusher'
    )
    if not submit:
        return
    try:
        task = toolkit.get_action(u'task_status_show')(
            context, {
                u'entity_id': resource_dict['id'],
                u'task_type': u'datapusher',
                u'key': u'datapusher'
            }
        )
        if task.get(u'state') in (u'pending', u'submitting'):
            # There already is a pending DataPusher submission,
            # skip this one ...
            log.debug(
                u'Skipping DataPusher submission for '
                u'resource {0}'.format(resource_dict['id'])
            )
            return
    except toolkit.ObjectNotFound:
        pass
    try:
        log.debug(
            u'Submitting resource {0}'.format(resource_dict['id']) +
            u' to DataPusher'
        )
        toolkit.get_action(u'datapusher_submit')(
            context, {
                u'resource_id': resource_dict['id']
            }
        )
    except toolkit.ValidationError as e:
        # If datapusher is offline want to catch error instead
        # of raising otherwise resource save will fail with 500
        log.critical(e)
        pass